home *** CD-ROM | disk | FTP | other *** search
/ EDUCORP 8 / Educorp2Compilation.sit / educorp2 / Programming (2300, 7000) / 2309 Programming v.7 / Labours of Love / Dissolve Effects Folder / DissBits.asm next >
MacBinary  |  1988-08-16  |  15.6 KB  |  [TEXT/EDIT]

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: MacBinary (archive/macBinary).

You can browse this item here: DissBits.asm

ConfidenceProgramDetectionMatch TypeSupport
20% dexvert VertiZontal Interlacing (image/vzi) fileSize Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Tue Aug 16 06:30:48 1988, modified Tue Aug 16 06:30:48 1988, creator Macintosh Edit, type ASCII, 15415 bytes "DissBits.asm" , at 0x3cb7 348 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[EDIT]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0c 44 69 73 73 42 69 | 74 73 2e 61 73 6d 00 00 |..DissBi|ts.asm..|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 45 44 49 | 54 01 00 00 00 00 00 00 |.TEXTEDI|T.......|
|00000050| 00 00 00 00 00 3c 37 00 | 00 01 5c 9f 2d bf 58 9f |.....<7.|..\.-.X.|
|00000060| 2d bf 58 00 00 06 00 00 | 00 00 00 00 00 00 00 00 |-.X.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 4d d2 00 00 |........|....M...|
|00000080| 09 70 72 74 72 09 22 2f | 45 2f 24 34 35 22 09 3b |.prtr."/|E/$45".;|
|00000090| 20 49 6d 61 67 65 57 72 | 69 74 65 72 20 73 65 74 | ImageWr|iter set|
|000000a0| 20 74 6f 20 45 6c 69 74 | 65 2e 0d 09 6e 61 6d 65 | to Elit|e...name|
|000000b0| 09 44 69 73 73 6f 6c 76 | 65 0d 20 09 74 69 74 6c |.Dissolv|e. .titl|
|000000c0| 65 09 22 24 22 09 09 3b | 20 44 61 74 65 20 69 6e |e."$"..;| Date in|
|000000d0| 20 50 61 67 65 27 73 20 | 48 65 61 64 65 72 2e 0d | Page's |Header..|
|000000e0| 09 74 65 72 73 65 09 09 | 09 3b 20 4f 70 74 69 6f |.terse..|.; Optio|
|000000f0| 6e 61 6c 2e 0d 20 20 20 | 20 20 20 20 20 20 0d 09 |nal.. | ..|
|00000100| 20 0d 20 20 20 20 20 0d | 3b 20 22 44 69 73 73 42 | . .|; "DissB|
|00000110| 69 74 73 2e 61 73 6d 22 | 0d 3b 20 2d 2d 20 61 20 |its.asm"|.; -- a |
|00000120| 72 6f 75 74 69 6e 65 20 | 74 6f 20 63 72 65 61 74 |routine |to creat|
|00000130| 65 20 61 20 44 69 73 73 | 6f 6c 76 65 2d 65 66 66 |e a Diss|olve-eff|
|00000140| 65 63 74 20 6f 6e 20 74 | 68 65 20 73 63 72 65 65 |ect on t|he scree|
|00000150| 6e 0d 3b 20 2d 2d 20 61 | 6c 69 61 73 20 22 4d 79 |n.; -- a|lias "My|
|00000160| 20 6b 69 6e 67 64 6f 6d | 20 66 6f 72 20 61 6e 6f | kingdom| for ano|
|00000170| 74 68 65 72 20 52 65 67 | 69 73 74 65 72 20 21 21 |ther Reg|ister !!|
|00000180| 22 0d 3b 0d 3b 20 57 72 | 69 74 74 65 6e 20 69 6e |".;.; Wr|itten in|
|00000190| 20 36 38 30 30 30 20 43 | 6f 64 65 20 62 79 20 4d | 68000 C|ode by M|
|000001a0| 69 6b 65 20 4d 6f 72 74 | 6f 6e 20 5b 4d 61 63 54 |ike Mort|on [MacT|
|000001b0| 75 74 6f 72 20 28 44 65 | 63 20 38 35 29 5d 0d 3b |utor (De|c 85)].;|
|000001c0| 0d 3b 20 43 6f 6e 76 65 | 72 74 65 64 20 62 79 20 |.; Conve|rted by |
|000001d0| 4a 6f 68 6e 20 41 2e 20 | 4c 6f 76 65 2c 20 49 49 |John A. |Love, II|
|000001e0| 49 0d 3b 20 7b 20 66 72 | 6f 6d 3a 20 57 61 73 68 |I.; { fr|om: Wash|
|000001f0| 69 6e 67 74 6f 6e 20 41 | 70 70 6c 65 20 50 69 20 |ington A|pple Pi |
|00000200| 55 73 65 72 73 27 20 47 | 72 6f 75 70 20 7d 0d 3b |Users' G|roup }.;|
|00000210| 0d 3b 20 5b 20 75 73 69 | 6e 67 20 22 4d 63 41 73 |.; [ usi|ng "McAs|
|00000220| 73 65 6d 62 6c 79 22 20 | 28 76 37 2e 33 29 20 66 |sembly" |(v7.3) f|
|00000230| 72 6f 6d 20 53 69 67 6e | 61 74 75 72 65 20 53 6f |rom Sign|ature So|
|00000240| 66 74 77 61 72 65 20 5d | 0d 3b 0d 3b 20 49 20 6b |ftware ]|.;.; I k|
|00000250| 6e 6f 77 20 74 68 69 73 | 20 62 6c 61 73 74 65 64 |now this| blasted|
|00000260| 20 72 6f 75 74 69 6e 65 | 20 77 6f 72 6b 73 2c 20 | routine| works, |
|00000270| 62 75 74 20 2e 2e 2e 0d | 3b 20 2e 2e 2e 20 69 6e |but ....|; ... in|
|00000280| 20 33 20 6e 6f 76 65 6c | 73 20 6f 72 20 6c 65 73 | 3 novel|s or les|
|00000290| 73 2c 20 50 4c 45 41 53 | 45 20 74 65 6c 6c 20 6d |s, PLEAS|E tell m|
|000002a0| 65 20 57 48 59 20 3f 2a | 21 21 3f 0d 3b 20 2e 2e |e WHY ?*|!!?.; ..|
|000002b0| 2e 20 7b 20 22 6a 75 73 | 74 20 62 65 63 61 75 73 |. { "jus|t becaus|
|000002c0| 65 22 20 69 73 20 4e 4f | 54 20 61 6e 20 61 63 63 |e" is NO|T an acc|
|000002d0| 65 70 74 61 62 6c 65 20 | 72 65 70 6c 79 20 7d 0d |eptable |reply }.|
|000002e0| 0d 0d 0d 3b 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |...;****|********|
|000002f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000300| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000310| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000320| 2a 2a 2a 2a 0d 3b 20 54 | 68 65 20 70 61 72 74 73 |****.; T|he parts|
|00000330| 20 6f 66 20 6d 79 20 48 | 46 53 20 50 61 74 68 20 | of my H|FS Path |
|00000340| 4e 61 6d 65 73 3a 0d 0d | 76 6f 6c 4e 61 6d 65 09 |Names:..|volName.|
|00000350| 09 64 65 66 69 6e 65 09 | 22 48 44 22 0d 41 73 6d |.define.|"HD".Asm|
|00000360| 46 6f 6c 64 65 72 09 64 | 65 66 69 6e 65 09 22 4d |Folder.d|efine."M|
|00000370| 63 41 73 6d 20 46 6f 6c | 64 65 72 22 0d 67 65 6e |cAsm Fol|der".gen|
|00000380| 65 72 61 6c 46 6f 6c 64 | 65 72 09 64 65 66 69 6e |eralFold|er.defin|
|00000390| 65 09 22 47 65 6e 65 72 | 61 6c 20 20 46 69 6c 65 |e."Gener|al File|
|000003a0| 73 20 20 46 6f 6c 64 65 | 72 22 0d 0d 3b 2a 2a 2a |s Folde|r"..;***|
|000003b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000003c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000003d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000003e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0d 0d 0d |********|*****...|
|000003f0| 3b 20 49 4e 43 4c 55 44 | 45 20 66 69 6c 65 73 20 |; INCLUD|E files |
|00000400| 3a 20 52 65 67 69 73 74 | 65 72 54 72 61 70 73 2e |: Regist|erTraps.|
|00000410| 50 53 4d 0d 3b 09 09 20 | 20 54 6f 6f 6c 45 71 75 |PSM.;.. | ToolEqu|
|00000420| 2e 50 53 4d 0d 3b 09 09 | 20 20 51 75 69 63 6b 45 |.PSM.;..| QuickE|
|00000430| 71 75 2e 50 53 4d 0d 3b | 09 09 20 20 53 79 73 45 |qu.PSM.;|.. SysE|
|00000440| 71 75 2e 50 53 4d 0d 3b | 09 09 20 20 50 75 73 68 |qu.PSM.;|.. Push|
|00000450| 50 6f 70 2e 61 73 6d 0d | 3b 09 09 20 20 53 74 61 |Pop.asm.|;.. Sta|
|00000460| 63 6b 4d 61 63 72 6f 73 | 2e 61 73 6d 0d 3b 0d 3b |ckMacros|.asm.;.;|
|00000470| 20 20 20 77 69 74 68 20 | 4c 49 53 54 69 6e 67 20 | with |LISTing |
|00000480| 74 75 72 6e 65 64 20 6f | 66 66 2e 0d 20 0d 0d 09 |turned o|ff.. ...|
|00000490| 4c 49 53 54 09 30 09 09 | 20 20 3b 20 4f 46 46 2e |LIST.0..| ; OFF.|
|000004a0| 0d 09 0d 09 69 70 61 74 | 68 09 22 7b 76 6f 6c 4e |....ipat|h."{volN|
|000004b0| 61 6d 65 7d 3a 7b 41 73 | 6d 46 6f 6c 64 65 72 7d |ame}:{As|mFolder}|
|000004c0| 3a 7b 67 65 6e 65 72 61 | 6c 46 6f 6c 64 65 72 7d |:{genera|lFolder}|
|000004d0| 3a 42 6f 6f 74 20 54 52 | 41 50 73 20 46 6f 6c 64 |:Boot TR|APs Fold|
|000004e0| 65 72 3a 22 0d 09 69 6e | 63 6c 09 22 52 65 67 69 |er:"..in|cl."Regi|
|000004f0| 73 74 65 72 54 72 61 70 | 73 2e 50 53 4d 22 0d 3b |sterTrap|s.PSM".;|
|00000500| 20 09 50 41 47 45 09 09 | 09 20 20 3b 20 45 6c 69 | .PAGE..|. ; Eli|
|00000510| 6d 69 6e 61 74 65 64 20 | 69 6e 20 66 69 6e 61 6c |minated |in final|
|00000520| 20 76 65 72 73 69 6f 6e | 2e 09 0d 09 0d 09 69 70 | version|......ip|
|00000530| 61 74 68 09 22 7b 76 6f | 6c 4e 61 6d 65 7d 3a 7b |ath."{vo|lName}:{|
|00000540| 41 73 6d 46 6f 6c 64 65 | 72 7d 3a 7b 67 65 6e 65 |AsmFolde|r}:{gene|
|00000550| 72 61 6c 46 6f 6c 64 65 | 72 7d 3a 42 6f 6f 74 20 |ralFolde|r}:Boot |
|00000560| 45 51 55 61 74 65 73 20 | 46 6f 6c 64 65 72 3a 22 |EQUates |Folder:"|
|00000570| 0d 09 69 6e 63 6c 09 22 | 54 6f 6f 6c 45 71 75 2e |..incl."|ToolEqu.|
|00000580| 50 53 4d 22 0d 09 69 6e | 63 6c 09 22 51 75 69 63 |PSM"..in|cl."Quic|
|00000590| 6b 45 71 75 2e 50 53 4d | 22 0d 09 69 6e 63 6c 09 |kEqu.PSM|"..incl.|
|000005a0| 22 53 79 73 45 71 75 2e | 50 53 4d 22 0d 09 0d 09 |"SysEqu.|PSM"....|
|000005b0| 69 70 61 74 68 09 22 7b | 76 6f 6c 4e 61 6d 65 7d |ipath."{|volName}|
|000005c0| 3a 7b 41 73 6d 46 6f 6c | 64 65 72 7d 3a 7b 67 65 |:{AsmFol|der}:{ge|
|000005d0| 6e 65 72 61 6c 46 6f 6c | 64 65 72 7d 3a 42 6f 6f |neralFol|der}:Boo|
|000005e0| 74 20 4d 41 43 52 4f 73 | 20 46 6f 6c 64 65 72 3a |t MACROs| Folder:|
|000005f0| 22 0d 09 69 6e 63 6c 09 | 22 50 75 73 68 50 6f 70 |"..incl.|"PushPop|
|00000600| 2e 61 73 6d 22 0d 3b 20 | 09 50 41 47 45 09 09 09 |.asm".; |.PAGE...|
|00000610| 20 20 3b 20 45 6c 69 6d | 69 6e 61 74 65 64 20 69 | ; Elim|inated i|
|00000620| 6e 20 66 69 6e 61 6c 20 | 76 65 72 73 69 6f 6e 2e |n final |version.|
|00000630| 09 0d 09 69 6e 63 6c 09 | 22 53 74 61 63 6b 4d 61 |...incl.|"StackMa|
|00000640| 63 72 6f 73 2e 61 73 6d | 22 0d 3b 20 09 50 41 47 |cros.asm|".; .PAG|
|00000650| 45 09 09 09 20 20 3b 20 | 45 6c 69 6d 69 6e 61 74 |E... ; |Eliminat|
|00000660| 65 64 20 69 6e 20 66 69 | 6e 61 6c 20 76 65 72 73 |ed in fi|nal vers|
|00000670| 69 6f 6e 2e 0d 09 09 0d | 09 4c 49 53 54 09 31 09 |ion.....|.LIST.1.|
|00000680| 09 20 20 3b 20 42 61 63 | 6b 20 4f 4e 2e 0d 0d 0d |. ; Bac|k ON....|
|00000690| 09 54 43 4f 4d 50 09 09 | 09 3b 20 54 75 72 6e 20 |.TCOMP..|.; Turn |
|000006a0| 6f 6e 20 74 68 65 20 54 | 72 61 70 20 43 6f 6d 70 |on the T|rap Comp|
|000006b0| 69 6c 65 72 2e 0d 0d 0d | 0d 09 70 61 67 65 0d 0d |iler....|..page..|
|000006c0| 09 58 44 45 46 09 44 69 | 73 73 42 69 74 73 0d 09 |.XDEF.Di|ssBits..|
|000006d0| 0d 09 0d 3b 20 50 52 4f | 43 45 44 55 52 45 20 20 |...; PRO|CEDURE |
|000006e0| 44 69 73 73 42 69 74 73 | 20 28 73 72 63 42 69 74 |DissBits| (srcBit|
|000006f0| 73 2c 64 73 74 42 69 74 | 73 3a 20 42 69 74 4d 61 |s,dstBit|s: BitMa|
|00000700| 70 3b 20 73 72 63 52 65 | 63 74 2c 64 73 74 52 65 |p; srcRe|ct,dstRe|
|00000710| 63 74 3a 20 52 65 63 74 | 29 3b 0d 3b 20 20 20 41 |ct: Rect|);.; A|
|00000720| 73 73 75 6d 65 73 20 6d | 6f 64 65 20 3d 20 73 72 |ssumes m|ode = sr|
|00000730| 63 43 6f 70 79 20 2b 20 | 4e 4f 20 6d 61 73 6b 69 |cCopy + |NO maski|
|00000740| 6e 67 3a 0d 0d 44 69 73 | 73 62 69 74 73 09 70 72 |ng:..Dis|sbits.pr|
|00000750| 6f 63 0d 2e 73 72 63 42 | 69 74 73 09 70 6f 69 6e |oc..srcB|its.poin|
|00000760| 74 65 72 09 09 09 3b 20 | 74 6f 20 42 69 74 4d 61 |ter...; |to BitMa|
|00000770| 70 73 20 2e 2e 2e 0d 2e | 64 73 74 62 69 74 73 09 |ps .....|dstbits.|
|00000780| 70 6f 69 6e 74 65 72 0d | 2e 73 72 63 52 65 63 74 |pointer.|.srcRect|
|00000790| 09 70 6f 69 6e 74 65 72 | 09 09 09 3b 20 74 6f 20 |.pointer|...; to |
|000007a0| 52 65 63 74 61 6e 67 6c | 65 73 20 2e 2e 2e 0d 2e |Rectangl|es .....|
|000007b0| 64 73 74 52 65 63 74 09 | 70 6f 69 6e 74 65 72 0d |dstRect.|pointer.|
|000007c0| 09 09 65 6e 64 50 61 72 | 6d 73 0d 3b 20 7e 7e 7e |..endPar|ms.; ~~~|
|000007d0| 7e 7e 7e 7e 7e 7e 7e 7e | 7e 7e 0d 09 09 64 73 65 |~~~~~~~~|~~...dse|
|000007e0| 63 09 30 09 09 3b 20 4f | 75 72 20 73 70 65 63 69 |c.0..; O|ur speci|
|000007f0| 61 6c 20 52 65 63 6f 72 | 64 2e 0d 2e 6f 75 72 52 |al Recor|d...ourR|
|00000800| 6f 77 73 09 77 6f 72 64 | 09 09 09 3b 20 4c 61 73 |ows.word|...; Las|
|00000810| 74 20 72 6f 77 23 20 61 | 6e 64 20 63 6f 6c 75 6d |t row# a|nd colum|
|00000820| 6e 23 20 6f 66 20 69 6e | 6e 65 72 0d 2e 6f 75 72 |n# of in|ner..our|
|00000830| 43 6f 6c 73 09 77 6f 72 | 64 09 09 09 3b 20 20 20 |Cols.wor|d...; |
|00000840| 52 65 63 74 61 6e 67 6c | 65 20 5b 6e 6f 72 6d 61 |Rectangl|e [norma|
|00000850| 6c 69 7a 65 64 20 74 6f | 20 30 5d 2e 0d 2e 6f 75 |lized to| 0]...ou|
|00000860| 72 4c 62 69 74 73 09 77 | 6f 72 64 09 09 09 3b 20 |rLbits.w|ord...; |
|00000870| 49 67 6e 6f 72 65 64 20 | 42 69 74 73 20 69 6e 20 |Ignored |Bits in |
|00000880| 31 73 74 20 42 79 74 65 | 20 6f 66 20 52 65 63 74 |1st Byte| of Rect|
|00000890| 2e 0d 2e 6f 75 72 53 74 | 72 69 64 65 09 77 6f 72 |...ourSt|ride.wor|
|000008a0| 64 09 09 09 3b 20 72 6f | 77 42 69 74 73 20 69 6e |d...; ro|wBits in|
|000008b0| 20 62 69 74 4d 61 70 2e | 0d 2e 6f 75 72 42 61 73 | bitMap.|..ourBas|
|000008c0| 65 09 70 6f 69 6e 74 65 | 72 09 09 09 3b 20 2e 2e |e.pointe|r...; ..|
|000008d0| 2e 20 74 6f 20 31 73 74 | 20 42 79 74 65 20 69 6e |. to 1st| Byte in|
|000008e0| 20 69 6e 6e 65 72 20 52 | 65 63 74 2e 0d 09 09 64 | inner R|ect....d|
|000008f0| 65 6e 64 09 2e 6f 75 72 | 53 69 7a 65 0d 3b 20 7e |end..our|Size.; ~|
|00000900| 7e 7e 7e 7e 7e 7e 7e 7e | 7e 7e 7e 7e 0d 09 09 6c |~~~~~~~~|~~~~...l|
|00000910| 6f 63 61 6c 73 0d 2e 73 | 72 63 4f 75 72 73 09 62 |ocals..s|rcOurs.b|
|00000920| 79 74 65 09 2e 6f 75 72 | 53 69 7a 65 0d 2e 64 73 |yte..our|Size..ds|
|00000930| 74 4f 75 72 73 09 62 79 | 74 65 09 2e 6f 75 72 53 |tOurs.by|te..ourS|
|00000940| 69 7a 65 0d 09 09 65 6e | 64 4c 6f 63 61 6c 73 0d |ize...en|dLocals.|
|00000950| 3b 20 7e 7e 7e 7e 7e 7e | 7e 7e 7e 7e 7e 7e 7e 0d |; ~~~~~~|~~~~~~~.|
|00000960| 3b 20 4f 75 72 20 57 6f | 72 6b 69 6e 67 20 52 65 |; Our Wo|rking Re|
|00000970| 67 69 73 74 65 72 73 3a | 0d 0d 63 6f 6e 76 65 72 |gisters:|..conver|
|00000980| 74 4f 4b 09 72 65 71 75 | 09 64 30 09 09 3b 20 52 |tOK.requ|.d0..; R|
|00000990| 65 73 75 6c 74 20 66 72 | 6f 6d 20 63 61 6c 6c 69 |esult fr|om calli|
|000009a0| 6e 67 20 43 6f 6e 76 65 | 72 74 2e 0d 73 74 72 69 |ng Conve|rt..stri|
|000009b0| 64 65 57 69 64 74 68 09 | 72 65 71 75 09 64 30 09 |deWidth.|requ.d0.|
|000009c0| 09 3b 20 52 65 73 75 6c | 74 20 66 72 6f 6d 20 63 |.; Resul|t from c|
|000009d0| 61 6c 6c 69 6e 67 20 42 | 69 74 57 69 64 74 68 2e |alling B|itWidth.|
|000009e0| 0d 73 74 72 69 64 65 4c | 4f 47 09 72 65 71 75 09 |.strideL|OG.requ.|
|000009f0| 64 32 09 09 3b 20 43 65 | 69 6c 69 6e 67 20 6f 66 |d2..; Ce|iling of|
|00000a00| 20 4c 4f 47 2c 20 42 61 | 73 65 20 32 20 6f 66 20 | LOG, Ba|se 2 of |
|00000a10| 61 20 23 2e 0d 3b 20 2d | 2d 2d 2d 2d 2d 2d 2d 2d |a #..; -|--------|
|00000a20| 2d 0d 77 69 64 74 68 53 | 72 63 09 72 65 71 75 09 |-.widthS|rc.requ.|
|00000a30| 64 31 09 09 3b 20 42 69 | 74 2d 77 69 64 74 68 73 |d1..; Bi|t-widths|
|00000a40| 20 2e 2e 2e 0d 68 65 69 | 67 68 74 53 72 63 09 72 | ....hei|ghtSrc.r|
|00000a50| 65 71 75 09 64 30 0d 74 | 6f 74 61 6c 57 69 64 74 |equ.d0.t|otalWidt|
|00000a60| 68 09 72 65 71 75 09 64 | 30 09 09 3b 20 54 6f 74 |h.requ.d|0..; Tot|
|00000a70| 61 6c 20 42 69 74 2d 77 | 69 64 74 68 20 3d 20 72 |al Bit-w|idth = r|
|00000a80| 6f 77 73 20 2b 20 63 6f | 6c 75 6d 6e 73 2e 0d 70 |ows + co|lumns..p|
|00000a90| 69 78 57 69 64 65 09 09 | 72 65 71 75 09 61 32 0d |ixWide..|requ.a2.|
|00000aa0| 3b 20 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 4d 61 73 |; ------|----.Mas|
|00000ab0| 6b 42 79 74 65 09 72 65 | 71 75 09 64 33 09 09 3b |kByte.re|qu.d3..;|
|00000ac0| 20 4d 61 73 6b 73 20 2e | 2e 2e 0d 63 79 4d 61 73 | Masks .|...cyMas|
|00000ad0| 6b 42 79 74 65 09 72 65 | 71 75 09 64 30 0d 62 69 |kByte.re|qu.d0.bi|
|00000ae0| 74 4d 61 73 6b 09 09 72 | 65 71 75 09 64 35 0d 3b |tMask..r|equ.d5.;|
|00000af0| 20 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 74 65 6d 70 | -------|---.temp|
|00000b00| 09 09 72 65 71 75 09 64 | 32 09 09 3b 20 4a 75 73 |..requ.d|2..; Jus|
|00000b10| 74 20 74 65 6d 70 6f 72 | 61 72 79 2c 20 66 6f 6c |t tempor|ary, fol|
|00000b20| 6b 73 20 21 21 0d 3b 20 | 2d 2d 2d 2d 2d 2d 2d 2d |ks !!.; |--------|
|00000b30| 2d 2d 0d 73 72 63 41 64 | 72 31 42 69 74 09 72 65 |--.srcAd|r1Bit.re|
|00000b40| 71 75 09 61 30 09 09 3b | 20 41 64 64 72 65 73 73 |qu.a0..;| Address|
|00000b50| 20 6f 66 20 31 73 74 20 | 73 65 74 20 42 69 74 20 | of 1st |set Bit |
|00000b60| 2e 2e 2e 0d 64 73 74 41 | 64 72 31 42 69 74 09 72 |....dstA|dr1Bit.r|
|00000b70| 65 71 75 09 61 31 0d 73 | 72 63 41 64 72 31 42 79 |equ.a1.s|rcAdr1By|
|00000b80| 74 65 09 72 65 71 75 09 | 61 30 09 09 3b 20 41 64 |te.requ.|a0..; Ad|
|00000b90| 64 72 65 73 73 20 6f 66 | 20 31 73 74 20 42 79 74 |dress of| 1st Byt|
|00000ba0| 65 20 2e 2e 2e 0d 64 73 | 74 41 64 72 31 42 79 74 |e ....ds|tAdr1Byt|
|00000bb0| 65 09 72 65 71 75 09 61 | 31 0d 3b 20 2d 2d 2d 2d |e.requ.a|1.; ----|
|00000bc0| 2d 2d 2d 2d 2d 2d 0d 73 | 72 63 4c 4f 47 73 74 72 |------.s|rcLOGstr|
|00000bd0| 69 64 65 09 72 65 71 75 | 09 64 30 09 09 3b 20 4c |ide.requ|.d0..; L|
|00000be0| 4f 47 2c 20 42 61 73 65 | 20 32 20 2e 2e 2e 0d 64 |OG, Base| 2 ....d|
|00000bf0| 73 74 4c 4f 47 73 74 72 | 69 64 65 09 72 65 71 75 |stLOGstr|ide.requ|
|00000c00| 09 64 31 0d 0d 09 09 70 | 61 67 65 0d 0d 09 09 65 |.d1....p|age....e|
|00000c10| 6e 74 65 72 0d 09 09 0d | 09 09 0d 09 09 6d 6f 76 |nter....|.....mov|
|00000c20| 65 6d 2e 6c 09 61 31 2d | 61 34 2f 64 30 2d 64 37 |em.l.a1-|a4/d0-d7|
|00000c30| 2c 2d 28 73 70 29 09 3b | 20 44 65 70 6f 73 69 74 |,-(sp).;| Deposit|
|00000c40| 20 79 6f 75 72 20 6c 69 | 66 65 20 73 61 76 69 6e | your li|fe savin|
|00000c50| 67 73 2e 0d 09 09 3b 20 | 2d 2d 2d 2d 2d 2d 2d 2d |gs....; |--------|
|00000c60| 2d 2d 0d 09 09 48 69 64 | 65 43 75 72 73 6f 72 09 |--...Hid|eCursor.|
|00000c70| 09 3b 20 44 6f 20 6f 75 | 72 20 22 6d 61 67 69 63 |.; Do ou|r "magic|
|00000c80| 22 20 77 69 74 68 20 43 | 75 72 73 6f 72 20 68 69 |" with C|ursor hi|
|00000c90| 64 64 65 6e 2e 0d 0d 09 | 09 3b 20 2d 2d 2d 2d 2d |dden....|.; -----|
|00000ca0| 2d 2d 2d 2d 2d 0d 09 09 | 3b 20 43 6f 6e 76 65 72 |-----...|; Conver|
|00000cb0| 74 20 69 6e 70 75 74 20 | 70 61 72 6d 73 20 74 6f |t input |parms to|
|00000cc0| 20 6f 75 72 20 73 70 65 | 63 69 61 6c 20 66 6f 72 | our spe|cial for|
|00000cd0| 6d 61 74 3a 0d 0d 09 09 | 63 6c 72 2e 77 09 2d 28 |mat:....|clr.w.-(|
|00000ce0| 73 70 29 09 09 3b 20 46 | 55 4e 43 54 49 4f 4e 61 |sp)..; F|UNCTIONa|
|00000cf0| 6c 20 72 65 73 75 6c 74 | 2e 0d 09 09 70 75 73 68 |l result|....push|
|00000d00| 2e 6c 09 2e 73 72 63 42 | 69 74 73 0d 09 09 70 75 |.l..srcB|its...pu|
|00000d10| 73 68 2e 6c 09 2e 73 72 | 63 52 65 63 74 0d 09 09 |sh.l..sr|cRect...|
|00000d20| 70 65 61 09 2e 73 72 63 | 4f 75 72 73 09 3b 20 56 |pea..src|Ours.; V|
|00000d30| 41 52 2e 0d 09 09 62 73 | 72 09 43 6f 6e 76 65 72 |AR....bs|r.Conver|
|00000d40| 74 0d 09 09 70 6f 70 2e | 77 09 63 6f 6e 76 65 72 |t...pop.|w.conver|
|00000d50| 74 4f 4b 0d 09 09 62 65 | 71 09 2e 65 6e 64 09 09 |tOK...be|q..end..|
|00000d60| 3b 20 48 65 69 67 68 74 | 20 6f 72 20 57 69 64 74 |; Height| or Widt|
|00000d70| 68 20 6f 66 20 52 65 63 | 74 61 6e 67 6c 65 20 3d |h of Rec|tangle =|
|00000d80| 20 30 2e 0d 09 09 63 6c | 72 2e 77 09 2d 28 73 70 | 0....cl|r.w.-(sp|
|00000d90| 29 0d 09 09 70 75 73 68 | 2e 6c 09 2e 64 73 74 42 |)...push|.l..dstB|
|00000da0| 69 74 73 0d 09 09 70 75 | 73 68 2e 6c 09 2e 64 73 |its...pu|sh.l..ds|
|00000db0| 74 52 65 63 74 0d 09 09 | 70 65 61 09 2e 64 73 74 |tRect...|pea..dst|
|00000dc0| 4f 75 72 73 09 3b 20 56 | 41 52 2e 0d 09 09 62 73 |Ours.; V|AR....bs|
|00000dd0| 72 09 43 6f 6e 76 65 72 | 74 0d 09 09 70 6f 70 2e |r.Conver|t...pop.|
|00000de0| 77 09 63 6f 6e 76 65 72 | 74 4f 4b 0d 09 09 62 65 |w.conver|tOK...be|
|00000df0| 71 09 2e 65 6e 64 09 09 | 3b 20 4f 68 2d 4f 68 20 |q..end..|; Oh-Oh |
|00000e00| 21 21 0d 09 09 0d 09 09 | 3b 20 2d 2d 2d 2d 2d 2d |!!......|; ------|
|00000e10| 2d 2d 2d 2d 0d 09 09 3b | 20 43 68 65 63 6b 20 74 |----...;| Check t|
|00000e20| 68 61 74 20 74 68 65 20 | 74 77 6f 20 72 65 63 74 |hat the |two rect|
|00000e30| 61 6e 67 6c 65 73 20 6d | 61 74 63 68 20 69 6e 20 |angles m|atch in |
|00000e40| 73 69 7a 65 3a 0d 0d 09 | 09 6d 6f 76 65 2e 77 09 |size:...|.move.w.|
|00000e50| 2e 73 72 63 4f 75 72 73 | 2b 2e 6f 75 72 52 6f 77 |.srcOurs|+.ourRow|
|00000e60| 73 2c 64 30 09 3b 20 46 | 69 72 73 74 2c 20 74 68 |s,d0.; F|irst, th|
|00000e70| 65 20 68 65 69 67 68 74 | 20 2e 2e 2e 0d 09 09 63 |e height| ......c|
|00000e80| 6d 70 2e 77 09 2e 64 73 | 74 4f 75 72 73 2b 2e 6f |mp.w..ds|tOurs+.o|
|00000e90| 75 72 52 6f 77 73 2c 64 | 30 0d 09 09 62 6e 65 09 |urRows,d|0...bne.|
|00000ea0| 2e 65 6e 64 0d 09 09 6d | 6f 76 65 2e 77 09 2e 73 |.end...m|ove.w..s|
|00000eb0| 72 63 4f 75 72 73 2b 2e | 6f 75 72 43 6f 6c 73 2c |rcOurs+.|ourCols,|
|00000ec0| 64 31 09 3b 20 2e 2e 2e | 20 74 68 65 6e 2c 20 74 |d1.; ...| then, t|
|00000ed0| 68 65 20 77 69 64 74 68 | 2e 0d 09 09 63 6d 70 2e |he width|....cmp.|
|00000ee0| 77 09 2e 64 73 74 4f 75 | 72 73 2b 2e 6f 75 72 43 |w..dstOu|rs+.ourC|
|00000ef0| 6f 6c 73 2c 64 31 0d 09 | 09 62 6e 65 09 2e 65 6e |ols,d1..|.bne..en|
|00000f00| 64 0d 09 09 0d 09 09 3b | 20 2d 2d 2d 2d 2d 2d 2d |d......;| -------|
|00000f10| 2d 2d 2d 0d 09 09 3b 20 | 44 65 74 65 72 6d 69 6e |---...; |Determin|
|00000f20| 65 20 62 69 74 2d 77 69 | 64 74 68 20 6e 65 65 64 |e bit-wi|dth need|
|00000f30| 65 64 20 74 6f 20 73 70 | 61 6e 20 72 6f 77 73 20 |ed to sp|an rows |
|00000f40| 26 20 63 6f 6c 75 6d 6e | 73 3a 0d 09 09 0d 09 09 |& column|s:......|
|00000f50| 63 6c 72 2e 77 09 2d 28 | 73 70 29 09 09 3b 20 46 |clr.w.-(|sp)..; F|
|00000f60| 55 4e 43 54 49 4f 4e 61 | 6c 20 72 65 73 75 6c 74 |UNCTIONa|l result|
|00000f70| 2e 0d 09 09 70 75 73 68 | 2e 77 09 2e 73 72 63 4f |....push|.w..srcO|
|00000f80| 75 72 73 2b 2e 6f 75 72 | 43 6f 6c 73 0d 09 09 62 |urs+.our|Cols...b|
|00000f90| 73 72 09 42 69 74 57 69 | 64 74 68 0d 09 09 70 6f |sr.BitWi|dth...po|
|00000fa0| 70 2e 77 09 77 69 64 74 | 68 53 72 63 09 3b 20 4b |p.w.widt|hSrc.; K|
|00000fb0| 65 65 70 20 74 68 69 73 | 20 73 75 63 6b 65 72 20 |eep this| sucker |
|00000fc0| 73 61 66 65 20 21 21 0d | 09 09 62 6e 65 2e 73 09 |safe !!.|..bne.s.|
|00000fd0| 2e 31 09 09 3b 20 46 61 | 6c 6c 73 20 74 68 72 75 |.1..; Fa|lls thru|
|00000fe0| 20 69 66 20 74 69 6e 79 | 20 77 69 64 74 68 2e 0d | if tiny| width..|
|00000ff0| 09 09 43 6f 70 79 42 69 | 74 73 20 20 20 2e 73 72 |..CopyBi|ts .sr|
|00001000| 63 42 69 74 73 2c 2e 64 | 73 74 42 69 74 73 2c 2e |cBits,.d|stBits,.|
|00001010| 73 72 63 52 65 63 74 2c | 2e 64 73 74 52 65 63 74 |srcRect,|.dstRect|
|00001020| 2c 23 73 72 63 43 6f 70 | 79 2c 23 30 0d 09 09 62 |,#srcCop|y,#0...b|
|00001030| 72 61 09 2e 65 6e 64 0d | 09 09 3b 20 2d 2d 2d 2d |ra..end.|..; ----|
|00001040| 2d 2d 2d 2d 2d 2d 0d 2e | 31 09 09 63 6c 72 2e 77 |------..|1..clr.w|
|00001050| 09 2d 28 73 70 29 09 09 | 3b 20 46 55 4e 43 54 49 |.-(sp)..|; FUNCTI|
|00001060| 4f 4e 61 6c 20 72 65 73 | 75 6c 74 2e 0d 09 09 70 |ONal res|ult....p|
|00001070| 75 73 68 2e 77 09 2e 73 | 72 63 4f 75 72 73 2b 2e |ush.w..s|rcOurs+.|
|00001080| 6f 75 72 52 6f 77 73 0d | 09 09 62 73 72 09 42 69 |ourRows.|..bsr.Bi|
|00001090| 74 57 69 64 74 68 0d 09 | 09 70 6f 70 2e 77 09 68 |tWidth..|.pop.w.h|
|000010a0| 65 69 67 68 74 53 72 63 | 0d 09 09 62 6e 65 2e 73 |eightSrc|...bne.s|
|000010b0| 09 2e 32 09 09 3b 20 46 | 61 6c 6c 73 20 74 68 72 |..2..; F|alls thr|
|000010c0| 75 20 69 66 20 76 65 72 | 79 20 73 6d 61 6c 6c 20 |u if ver|y small |
|000010d0| 68 65 69 67 68 74 2e 0d | 09 09 43 6f 70 79 42 69 |height..|..CopyBi|
|000010e0| 74 73 20 20 20 2e 73 72 | 63 42 69 74 73 2c 2e 64 |ts .sr|cBits,.d|
|000010f0| 73 74 42 69 74 73 2c 2e | 73 72 63 52 65 63 74 2c |stBits,.|srcRect,|
|00001100| 2e 64 73 74 52 65 63 74 | 2c 23 73 72 63 43 6f 70 |.dstRect|,#srcCop|
|00001110| 79 2c 23 30 0d 09 09 62 | 72 61 09 2e 65 6e 64 0d |y,#0...b|ra..end.|
|00001120| 09 09 0d 09 09 3b 20 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.....; -|--------|
|00001130| 2d 0d 09 09 3b 20 53 65 | 74 75 70 20 73 6f 6d 65 |-...; Se|tup some|
|00001140| 20 63 6f 6e 73 74 61 6e | 74 73 20 77 65 27 6c 6c | constan|ts we'll|
|00001150| 20 6e 65 65 64 20 6c 61 | 74 65 72 3a 0d 09 09 0d | need la|ter:....|
|00001160| 2e 32 09 09 65 78 74 2e | 6c 09 77 69 64 74 68 53 |.2..ext.|l.widthS|
|00001170| 72 63 0d 09 09 6d 6f 76 | 65 2e 6c 09 23 31 2c 62 |rc...mov|e.l.#1,b|
|00001180| 69 74 4d 61 73 6b 0d 09 | 09 6c 73 6c 2e 6c 09 77 |itMask..|.lsl.l.w|
|00001190| 69 64 74 68 53 72 63 2c | 62 69 74 4d 61 73 6b 0d |idthSrc,|bitMask.|
|000011a0| 09 09 73 75 62 71 2e 6c | 09 23 31 2c 62 69 74 4d |..subq.l|.#1,bitM|
|000011b0| 61 73 6b 09 09 3b 20 41 | 6c 6c 20 42 69 74 73 20 |ask..; A|ll Bits |
|000011c0| 61 72 65 20 53 45 54 2e | 0d 09 09 3b 20 2d 2d 2d |are SET.|...; ---|
|000011d0| 2d 2d 2d 2d 2d 2d 2d 0d | 09 09 61 64 64 2e 77 09 |-------.|..add.w.|
|000011e0| 77 69 64 74 68 53 72 63 | 2c 68 65 69 67 68 74 53 |widthSrc|,heightS|
|000011f0| 72 63 0d 09 09 6d 6f 76 | 65 2e 77 09 68 65 69 67 |rc...mov|e.w.heig|
|00001200| 68 74 53 72 63 2c 74 6f | 74 61 6c 57 69 64 74 68 |htSrc,to|talWidth|
|00001210| 0d 09 09 3b 20 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |...; ---|-------.|
|00001220| 09 09 6c 65 61 09 4d 61 | 73 6b 54 61 62 6c 65 2c |..lea.Ma|skTable,|
|00001230| 61 30 0d 09 09 63 6c 72 | 2e 6c 09 4d 61 73 6b 42 |a0...clr|.l.MaskB|
|00001240| 79 74 65 0d 09 09 6d 6f | 76 65 2e 62 09 30 28 61 |yte...mo|ve.b.0(a|
|00001250| 30 2c 74 6f 74 61 6c 57 | 69 64 74 68 29 2c 4d 61 |0,totalW|idth),Ma|
|00001260| 73 6b 42 79 74 65 0d 09 | 09 0d 09 09 3b 20 2d 2d |skByte..|....; --|
|00001270| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 09 09 3b 20 54 68 65 |--------|...; The|
|00001280| 20 4d 61 73 6b 54 61 62 | 6c 65 20 69 73 20 73 61 | MaskTab|le is sa|
|00001290| 76 65 64 20 63 6f 6d 70 | 61 63 74 6c 79 20 73 69 |ved comp|actly si|
|000012a0| 6e 63 65 20 6e 6f 6e 65 | 20 6f 66 20 74 68 65 0d |nce none| of the.|
|000012b0| 09 09 3b 20 4d 61 73 6b | 73 20 61 72 65 20 77 69 |..; Mask|s are wi|
|000012c0| 64 65 72 20 74 68 61 6e | 20 6f 6e 65 20 42 79 74 |der than| one Byt|
|000012d0| 65 2e 20 20 57 65 20 68 | 61 76 65 20 74 6f 20 75 |e. We h|ave to u|
|000012e0| 6e 2d 70 61 63 6b 0d 09 | 09 3b 20 65 61 63 68 20 |n-pack..|.; each |
|000012f0| 54 61 62 6c 65 20 65 6e | 74 72 79 20 73 6f 20 74 |Table en|try so t|
|00001300| 68 65 20 68 69 67 68 2d | 6f 72 64 65 72 20 42 69 |he high-|order Bi|
|00001310| 74 20 6f 66 20 74 68 65 | 0d 09 09 3b 20 74 6f 74 |t of the|...; tot|
|00001320| 61 6c 57 69 64 74 68 2d | 62 69 74 2d 77 69 64 65 |alWidth-|bit-wide|
|00001330| 20 66 69 65 6c 64 20 69 | 73 20 73 65 74 3a 0d 09 | field i|s set:..|
|00001340| 09 0d 2e 55 6e 50 61 63 | 6b 09 09 61 64 64 2e 6c |...UnPac|k..add.l|
|00001350| 09 4d 61 73 6b 42 79 74 | 65 2c 4d 61 73 6b 42 79 |.MaskByt|e,MaskBy|
|00001360| 74 65 0d 09 09 62 70 6c | 2e 73 09 2e 55 6e 50 61 |te...bpl|.s..UnPa|
|00001370| 63 6b 0d 09 09 0d 09 09 | 3b 20 2d 2d 2d 2d 2d 2d |ck......|; ------|
|00001380| 2d 2d 2d 2d 0d 09 09 3b | 20 54 6f 70 20 42 69 74 |----...;| Top Bit|
|00001390| 20 69 73 20 6e 6f 77 20 | 73 65 74 2e 20 20 4e 6f | is now |set. No|
|000013a0| 77 2c 20 73 77 69 6e 67 | 20 74 68 65 20 74 6f 70 |w, swing| the top|
|000013b0| 20 74 6f 74 61 6c 57 69 | 64 74 68 0d 09 09 3b 20 | totalWi|dth...; |
|000013c0| 42 69 74 73 20 61 72 6f | 75 6e 64 20 74 6f 20 74 |Bits aro|und to t|
|000013d0| 68 65 20 62 6f 74 74 6f | 6d 20 74 6f 74 61 6c 57 |he botto|m totalW|
|000013e0| 69 64 74 68 20 42 69 74 | 73 2e 20 20 54 68 65 0d |idth Bit|s. The.|
|000013f0| 09 09 3b 20 66 69 72 73 | 74 20 73 65 71 75 65 6e |..; firs|t sequen|
|00001400| 63 65 20 65 6c 65 6d 65 | 6e 74 20 69 73 20 6e 6f |ce eleme|nt is no|
|00001410| 77 20 74 68 65 20 4d 61 | 73 6b 20 69 74 73 65 6c |w the Ma|sk itsel|
|00001420| 66 3a 0d 09 09 0d 09 09 | 72 6f 6c 2e 6c 09 74 6f |f:......|rol.l.to|
|00001430| 74 61 6c 57 69 64 74 68 | 2c 4d 61 73 6b 42 79 74 |talWidth|,MaskByt|
|00001440| 65 0d 09 09 6d 6f 76 65 | 2e 6c 09 4d 61 73 6b 42 |e...move|.l.MaskB|
|00001450| 79 74 65 2c 63 79 4d 61 | 73 6b 42 79 74 65 0d 09 |yte,cyMa|skByte..|
|00001460| 09 0d 09 09 3b 20 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |....; --|--------|
|00001470| 0d 09 09 3b 20 44 6f 20 | 61 6c 6c 20 73 6f 72 74 |...; Do |all sort|
|00001480| 73 20 6f 66 20 70 72 65 | 70 61 72 61 74 69 6f 6e |s of pre|paration|
|00001490| 3a 0d 09 09 0d 09 09 6d | 6f 76 65 2e 6c 09 2e 73 |:......m|ove.l..s|
|000014a0| 72 63 4f 75 72 73 2b 2e | 6f 75 72 42 61 73 65 2c |rcOurs+.|ourBase,|
|000014b0| 74 65 6d 70 09 3b 20 53 | 65 74 75 70 20 62 61 73 |temp.; S|etup bas|
|000014c0| 65 20 61 64 64 72 65 73 | 73 3a 0d 09 09 6c 73 6c |e addres|s:...lsl|
|000014d0| 2e 6c 09 23 33 2c 74 65 | 6d 70 09 09 09 3b 20 20 |.l.#3,te|mp...; |
|000014e0| 20 42 79 74 65 20 2d 2d | 3e 20 42 69 74 20 61 64 | Byte --|> Bit ad|
|000014f0| 64 72 65 73 73 2e 0d 09 | 09 6d 6f 76 65 2e 6c 09 |dress...|.move.l.|
|00001500| 74 65 6d 70 2c 73 72 63 | 41 64 72 31 42 69 74 0d |temp,src|Adr1Bit.|
|00001510| 09 09 3b 20 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 09 |..; ----|------..|
|00001520| 09 6d 6f 76 65 2e 77 09 | 2e 73 72 63 4f 75 72 73 |.move.w.|.srcOurs|
|00001530| 2b 2e 6f 75 72 4c 62 69 | 74 73 2c 74 65 6d 70 09 |+.ourLbi|ts,temp.|
|00001540| 3b 20 53 6b 69 70 20 74 | 68 65 20 4c 65 66 74 20 |; Skip t|he Left |
|00001550| 6d 61 72 67 69 6e 2e 0d | 09 09 65 78 74 2e 6c 09 |margin..|..ext.l.|
|00001560| 74 65 6d 70 0d 09 09 61 | 64 64 2e 6c 09 74 65 6d |temp...a|dd.l.tem|
|00001570| 70 2c 73 72 63 41 64 72 | 31 42 69 74 0d 09 09 3b |p,srcAdr|1Bit...;|
|00001580| 20 7e 7e 7e 7e 7e 7e 7e | 7e 7e 7e 0d 09 09 6d 6f | ~~~~~~~|~~~...mo|
|00001590| 76 65 2e 6c 09 2e 64 73 | 74 4f 75 72 73 2b 2e 6f |ve.l..ds|tOurs+.o|
|000015a0| 75 72 42 61 73 65 2c 74 | 65 6d 70 09 3b 20 44 69 |urBase,t|emp.; Di|
|000015b0| 74 74 6f 20 66 6f 72 20 | 64 65 73 74 69 6e 61 74 |tto for |destinat|
|000015c0| 69 6f 6e 2e 0d 09 09 6c | 73 6c 2e 6c 09 23 33 2c |ion....l|sl.l.#3,|
|000015d0| 74 65 6d 70 0d 09 09 6d | 6f 76 65 2e 6c 09 74 65 |temp...m|ove.l.te|
|000015e0| 6d 70 2c 64 73 74 41 64 | 72 31 42 69 74 0d 09 09 |mp,dstAd|r1Bit...|
|000015f0| 3b 20 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 09 09 6d |; ------|----...m|
|00001600| 6f 76 65 2e 77 09 2e 64 | 73 74 4f 75 72 73 2b 2e |ove.w..d|stOurs+.|
|00001610| 6f 75 72 4c 62 69 74 73 | 2c 74 65 6d 70 0d 09 09 |ourLbits|,temp...|
|00001620| 65 78 74 2e 6c 09 74 65 | 6d 70 0d 09 09 61 64 64 |ext.l.te|mp...add|
|00001630| 2e 6c 09 74 65 6d 70 2c | 64 73 74 41 64 72 31 42 |.l.temp,|dstAdr1B|
|00001640| 69 74 0d 09 09 3b 20 7e | 7e 7e 7e 7e 7e 7e 7e 7e |it...; ~|~~~~~~~~|
|00001650| 7e 0d 09 09 6d 6f 76 65 | 2e 77 09 2e 73 72 63 4f |~...move|.w..srcO|
|00001660| 75 72 73 2b 2e 6f 75 72 | 43 6f 6c 73 2c 70 69 78 |urs+.our|Cols,pix|
|00001670| 57 69 64 65 0d 09 09 6d | 6f 76 65 2e 77 09 2e 73 |Wide...m|ove.w..s|
|00001680| 72 63 4f 75 72 73 2b 2e | 6f 75 72 52 6f 77 73 2c |rcOurs+.|ourRows,|
|00001690| 74 65 6d 70 09 3b 20 4e | 6f 72 6d 61 6c 69 7a 65 |temp.; N|ormalize|
|000016a0| 64 20 2d 2d 3e 0d 09 09 | 61 64 64 71 2e 77 09 23 |d -->...|addq.w.#|
|000016b0| 31 2c 74 65 6d 70 09 09 | 09 3b 20 20 20 75 6e 2d |1,temp..|.; un-|
|000016c0| 4e 6f 72 6d 61 6c 69 7a | 65 64 2e 0d 09 09 65 78 |Normaliz|ed....ex|
|000016d0| 74 2e 6c 09 74 65 6d 70 | 0d 09 09 6c 73 6c 2e 6c |t.l.temp|...lsl.l|
|000016e0| 09 77 69 64 74 68 53 72 | 63 2c 74 65 6d 70 0d 09 |.widthSr|c,temp..|
|000016f0| 09 6d 6f 76 65 2e 6c 09 | 74 65 6d 70 2c 61 34 0d |.move.l.|temp,a4.|
|00001700| 09 09 6d 6f 76 65 2e 77 | 09 77 69 64 74 68 53 72 |..move.w|.widthSr|
|00001710| 63 2c 64 32 0d 0d 09 09 | 3b 20 2d 2d 2d 2d 2d 2d |c,d2....|; ------|
|00001720| 2d 2d 2d 2d 0d 09 09 3b | 20 54 72 79 20 74 6f 20 |----...;| Try to |
|00001730| 72 65 64 75 63 65 20 74 | 68 65 20 61 6d 6f 75 6e |reduce t|he amoun|
|00001740| 74 20 77 65 20 73 68 69 | 66 74 20 64 6f 77 6e 20 |t we shi|ft down |
|00001750| 44 32 2e 20 20 54 68 69 | 73 20 0d 09 09 3b 20 70 |D2. Thi|s ...; p|
|00001760| 72 6f 63 65 73 73 20 69 | 6e 76 6f 6c 76 65 73 20 |rocess i|nvolves |
|00001770| 68 61 6c 76 69 6e 67 20 | 74 68 65 20 53 74 72 69 |halving |the Stri|
|00001780| 64 65 73 20 61 73 20 6c | 6f 6e 67 20 61 73 20 0d |des as l|ong as .|
|00001790| 09 09 3b 20 65 61 63 68 | 20 69 73 20 65 76 65 6e |..; each| is even|
|000017a0| 2c 20 64 65 63 72 65 6d | 65 6e 74 69 6e 67 20 44 |, decrem|enting D|
|000017b0| 32 20 61 73 20 77 65 20 | 67 6f 20 26 20 6d 61 73 |2 as we |go & mas|
|000017c0| 6b 69 6e 67 20 74 68 65 | 0d 09 09 3b 20 74 68 65 |king the|...; the|
|000017d0| 20 62 6f 74 74 6f 6d 20 | 62 69 74 73 20 6f 66 66 | bottom |bits off|
|000017e0| 20 44 34 20 77 68 65 6e | 20 77 65 20 65 78 74 72 | D4 when| we extr|
|000017f0| 61 63 74 20 74 68 65 20 | 72 6f 77 20 63 6f 75 6e |act the |row coun|
|00001800| 74 3a 0d 09 09 0d 09 09 | 6d 6f 76 65 2e 77 09 2e |t:......|move.w..|
|00001810| 73 72 63 4f 75 72 73 2b | 2e 6f 75 72 53 74 72 69 |srcOurs+|.ourStri|
|00001820| 64 65 2c 64 34 0d 09 09 | 6d 6f 76 65 2e 77 09 2e |de,d4...|move.w..|
|00001830| 64 73 74 4f 75 72 73 2b | 2e 6f 75 72 53 74 72 69 |dstOurs+|.ourStri|
|00001840| 64 65 2c 64 37 0d 09 09 | 6d 6f 76 65 2e 77 09 2e |de,d7...|move.w..|
|00001850| 73 72 63 4f 75 72 73 2b | 2e 6f 75 72 52 6f 77 73 |srcOurs+|.ourRows|
|00001860| 2c 64 31 0d 09 09 74 73 | 74 2e 77 09 64 32 0d 09 |,d1...ts|t.w.d2..|
|00001870| 09 62 65 71 2e 73 09 2e | 48 61 6c 66 44 6f 6e 65 |.beq.s..|HalfDone|
|00001880| 0d 09 09 0d 2e 48 61 6c | 66 4c 6f 6f 70 09 62 74 |.....Hal|fLoop.bt|
|00001890| 73 74 09 23 30 2c 64 34 | 0d 09 09 62 6e 65 2e 73 |st.#0,d4|...bne.s|
|000018a0| 09 2e 48 61 6c 66 44 6f | 6e 65 0d 09 09 62 74 73 |..HalfDo|ne...bts|
|000018b0| 74 09 23 30 2c 64 37 0d | 09 09 62 6e 65 2e 73 09 |t.#0,d7.|..bne.s.|
|000018c0| 2e 48 61 6c 66 44 6f 6e | 65 0d 09 09 6c 73 6c 2e |.HalfDon|e...lsl.|
|000018d0| 77 09 23 31 2c 64 31 0d | 09 09 62 63 73 2e 73 09 |w.#1,d1.|..bcs.s.|
|000018e0| 2e 48 61 6c 66 44 6f 6e | 65 0d 09 09 6c 73 72 2e |.HalfDon|e...lsr.|
|000018f0| 77 09 23 31 2c 64 34 0d | 09 09 6c 73 72 2e 77 09 |w.#1,d4.|..lsr.w.|
|00001900| 23 31 2c 64 37 0d 09 09 | 73 75 62 71 2e 77 09 23 |#1,d7...|subq.w.#|
|00001910| 31 2c 64 32 0d 09 09 62 | 6e 65 2e 73 09 2e 48 61 |1,d2...b|ne.s..Ha|
|00001920| 6c 66 4c 6f 6f 70 0d 09 | 09 0d 2e 48 61 6c 66 44 |lfLoop..|...HalfD|
|00001930| 6f 6e 65 09 6d 6f 76 65 | 2e 77 09 64 34 2c 2e 73 |one.move|.w.d4,.s|
|00001940| 72 63 4f 75 72 73 2b 2e | 6f 75 72 53 74 72 69 64 |rcOurs+.|ourStrid|
|00001950| 65 0d 09 09 6d 6f 76 65 | 2e 77 09 64 37 2c 2e 64 |e...move|.w.d7,.d|
|00001960| 73 74 4f 75 72 73 2b 2e | 6f 75 72 53 74 72 69 64 |stOurs+.|ourStrid|
|00001970| 65 0d 09 09 63 6c 72 2e | 6c 09 64 36 0d 09 09 0d |e...clr.|l.d6....|
|00001980| 09 09 3b 20 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 09 |..; ----|------..|
|00001990| 09 3b 20 4d 61 6b 65 20 | 73 6f 6d 65 20 73 74 75 |.; Make |some stu|
|000019a0| 66 66 20 66 61 73 74 65 | 72 20 74 6f 20 61 63 63 |ff faste|r to acc|
|000019b0| 65 73 73 20 2d 2d 20 75 | 73 65 20 74 68 65 20 66 |ess -- u|se the f|
|000019c0| 61 63 74 0d 09 09 3b 20 | 74 68 61 74 20 28 41 6e |act...; |that (An|
|000019d0| 29 20 69 73 20 66 61 73 | 74 65 72 20 74 6f 20 61 |) is fas|ter to a|
|000019e0| 63 63 65 73 73 20 74 68 | 61 6e 20 64 28 41 6e 29 |ccess th|an d(An)|
|000019f0| 3a 0d 09 09 0d 09 09 70 | 75 73 68 2e 6c 09 73 72 |:......p|ush.l.sr|
|00001a00| 63 41 64 72 31 42 69 74 | 09 09 3b 20 45 78 69 74 |cAdr1Bit|..; Exit|
|00001a10| 20 4d 41 43 52 4f 20 64 | 65 73 74 72 6f 79 73 20 | MACRO d|estroys |
|00001a20| 41 30 2e 0d 09 09 63 6c | 72 2e 77 09 2d 28 73 70 |A0....cl|r.w.-(sp|
|00001a30| 29 09 09 09 3b 20 46 55 | 4e 43 54 49 4f 4e 61 6c |)...; FU|NCTIONal|
|00001a40| 20 72 65 73 75 6c 74 2e | 0d 09 09 70 65 61 09 2e | result.|...pea..|
|00001a50| 73 72 63 4f 75 72 73 2b | 2e 6f 75 72 53 74 72 69 |srcOurs+|.ourStri|
|00001a60| 64 65 09 3b 20 56 41 52 | 73 20 2e 2e 2e 0d 09 09 |de.; VAR|s ......|
|00001a70| 70 65 61 09 2e 64 73 74 | 4f 75 72 73 2b 2e 6f 75 |pea..dst|Ours+.ou|
|00001a80| 72 53 74 72 69 64 65 0d | 09 09 62 73 72 09 4d 75 |rStride.|..bsr.Mu|
|00001a90| 6c 43 68 6b 0d 09 09 74 | 73 74 2e 77 09 28 73 70 |lChk...t|st.w.(sp|
|00001aa0| 29 2b 0d 09 09 62 65 71 | 09 2e 4d 61 69 6e 0d 09 |)+...beq|..Main..|
|00001ab0| 09 0d 09 09 3b 20 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |....; --|--------|
|00001ac0| 0d 2e 4e 6f 4d 75 6c 09 | 09 70 6f 70 2e 6c 09 73 |..NoMul.|.pop.l.s|
|00001ad0| 72 63 41 64 72 31 42 69 | 74 0d 09 09 70 75 73 68 |rcAdr1Bi|t...push|
|00001ae0| 2e 6c 09 63 79 4d 61 73 | 6b 42 79 74 65 0d 09 09 |.l.cyMas|kByte...|
|00001af0| 6d 6f 76 65 2e 77 09 2e | 73 72 63 4f 75 72 73 2b |move.w..|srcOurs+|
|00001b00| 2e 6f 75 72 53 74 72 69 | 64 65 2c 73 72 63 4c 4f |.ourStri|de,srcLO|
|00001b10| 47 73 74 72 69 64 65 20 | 20 20 3b 20 52 65 70 6c |Gstride | ; Repl|
|00001b20| 61 63 65 64 20 62 79 0d | 09 09 6d 6f 76 65 2e 77 |aced by.|..move.w|
|00001b30| 09 2e 64 73 74 4f 75 72 | 73 2b 2e 6f 75 72 53 74 |..dstOur|s+.ourSt|
|00001b40| 72 69 64 65 2c 64 73 74 | 4c 4f 47 73 74 72 69 64 |ride,dst|LOGstrid|
|00001b50| 65 20 20 20 3b 20 20 20 | 74 68 65 69 72 20 4c 4f |e ; |their LO|
|00001b60| 47 73 2e 0d 09 09 0d 2e | 4d 75 6c 4c 6f 6f 70 09 |Gs......|MulLoop.|
|00001b70| 74 73 74 2e 77 09 64 32 | 0d 09 09 62 65 71 2e 73 |tst.w.d2|...beq.s|
|00001b80| 09 2e 4e 6f 4d 75 6c 32 | 0d 09 09 63 6d 70 69 2e |..NoMul2|...cmpi.|
|00001b90| 77 09 23 30 2c 73 72 63 | 4c 4f 47 73 74 72 69 64 |w.#0,src|LOGstrid|
|00001ba0| 65 0d 09 09 62 65 71 2e | 73 09 2e 4e 6f 4d 75 6c |e...beq.|s..NoMul|
|00001bb0| 32 0d 09 09 63 6d 70 69 | 2e 77 09 23 30 2c 64 73 |2...cmpi|.w.#0,ds|
|00001bc0| 74 4c 4f 47 73 74 72 69 | 64 65 0d 09 09 62 65 71 |tLOGstri|de...beq|
|00001bd0| 2e 73 09 2e 4e 6f 4d 75 | 6c 32 0d 09 09 3b 20 2d |.s..NoMu|l2...; -|
|00001be0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 09 09 73 75 62 71 |--------|-...subq|
|00001bf0| 2e 77 09 23 31 2c 64 32 | 0d 09 09 73 75 62 71 2e |.w.#1,d2|...subq.|
|00001c00| 77 09 23 31 2c 73 72 63 | 4c 4f 47 73 74 72 69 64 |w.#1,src|LOGstrid|
|00001c10| 65 0d 09 09 73 75 62 71 | 2e 77 09 23 31 2c 64 73 |e...subq|.w.#1,ds|
|00001c20| 74 4c 4f 47 73 74 72 69 | 64 65 0d 09 09 62 72 61 |tLOGstri|de...bra|
|00001c30| 2e 73 09 2e 4d 75 6c 4c | 6f 6f 70 0d 09 09 0d 2e |.s..MulL|oop.....|
|00001c40| 4e 6f 4d 75 6c 32 09 09 | 74 73 74 2e 77 09 64 32 |NoMul2..|tst.w.d2|
|00001c50| 0d 09 09 62 6e 65 2e 73 | 09 2e 4e 6c 6f 6f 70 0d |...bne.s|..Nloop.|
|00001c60| 09 09 63 6d 70 69 2e 77 | 09 23 30 2c 73 72 63 4c |..cmpi.w|.#0,srcL|
|00001c70| 4f 47 73 74 72 69 64 65 | 0d 09 09 62 6e 65 2e 73 |OGstride|...bne.s|
|00001c80| 09 2e 4e 6c 6f 6f 70 0d | 09 09 63 6d 70 69 2e 77 |..Nloop.|..cmpi.w|
|00001c90| 09 23 30 2c 64 73 74 4c | 4f 47 73 74 72 69 64 65 |.#0,dstL|OGstride|
|00001ca0| 0d 09 09 62 6e 65 2e 73 | 09 2e 4e 6c 6f 6f 70 0d |...bne.s|..Nloop.|
|00001cb0| 09 09 63 6d 70 2e 77 09 | 70 69 78 57 69 64 65 2c |..cmp.w.|pixWide,|
|00001cc0| 62 69 74 4d 61 73 6b 0d | 09 09 62 6e 65 2e 73 09 |bitMask.|..bne.s.|
|00001cd0| 2e 4e 6c 6f 6f 70 0d 09 | 09 6d 6f 76 65 2e 77 09 |.Nloop..|.move.w.|
|00001ce0| 73 72 63 41 64 72 31 42 | 69 74 2c 64 36 0d 09 09 |srcAdr1B|it,d6...|
|00001cf0| 61 6e 64 69 2e 62 09 23 | 37 2c 64 36 0d 09 09 62 |andi.b.#|7,d6...b|
|00001d00| 6e 65 2e 73 09 2e 4e 6c | 6f 6f 70 0d 09 09 6d 6f |ne.s..Nl|oop...mo|
|00001d10| 76 65 2e 77 09 64 73 74 | 41 64 72 31 42 69 74 2c |ve.w.dst|Adr1Bit,|
|00001d20| 64 36 0d 09 09 61 6e 64 | 69 2e 62 09 23 37 2c 64 |d6...and|i.b.#7,d|
|00001d30| 36 0d 09 09 62 65 71 2e | 73 09 2e 53 63 72 65 65 |6...beq.|s..Scree|
|00001d40| 6e 0d 09 09 0d 09 09 3b | 20 2d 2d 2d 2d 2d 2d 2d |n......;| -------|
|00001d50| 2d 2d 2d 0d 09 09 3b 20 | 54 68 69 73 20 6c 6f 6f |---...; |This loo|
|00001d60| 70 20 69 73 20 75 73 65 | 64 20 77 68 65 6e 20 62 |p is use|d when b|
|00001d70| 6f 74 68 20 73 6f 75 72 | 63 65 20 26 20 64 65 73 |oth sour|ce & des|
|00001d80| 74 69 6e 61 74 69 6f 6e | 0d 09 09 3b 20 42 69 74 |tination|...; Bit|
|00001d90| 4d 61 70 73 20 68 61 76 | 65 20 53 74 72 69 64 65 |Maps hav|e Stride|
|00001da0| 73 20 74 68 61 74 20 61 | 72 65 20 70 6f 77 65 72 |s that a|re power|
|00001db0| 73 20 6f 66 20 32 3a 0d | 09 09 0d 2e 4e 6c 6f 6f |s of 2:.|....Nloo|
|00001dc0| 70 09 09 6d 6f 76 65 2e | 77 09 73 72 63 4c 4f 47 |p..move.|w.srcLOG|
|00001dd0| 73 74 72 69 64 65 2c 2e | 73 72 63 4f 75 72 73 2b |stride,.|srcOurs+|
|00001de0| 2e 6f 75 72 53 74 72 69 | 64 65 0d 09 09 6d 6f 76 |.ourStri|de...mov|
|00001df0| 65 2e 77 09 64 73 74 4c | 4f 47 73 74 72 69 64 65 |e.w.dstL|OGstride|
|00001e00| 2c 2e 64 73 74 4f 75 72 | 73 2b 2e 6f 75 72 53 74 |,.dstOur|s+.ourSt|
|00001e10| 72 69 64 65 0d 09 09 70 | 6f 70 2e 6c 09 63 79 4d |ride...p|op.l.cyM|
|00001e20| 61 73 6b 42 79 74 65 0d | 09 09 63 6d 70 2e 6c 09 |askByte.|..cmp.l.|
|00001e30| 61 34 2c 63 79 4d 61 73 | 6b 42 79 74 65 0d 09 09 |a4,cyMas|kByte...|
|00001e40| 62 67 65 2e 73 09 2e 4e | 6e 65 78 74 0d 09 09 0d |bge.s..N|next....|
|00001e50| 2e 4e 6c 6f 6f 70 52 6f | 77 09 6d 6f 76 65 2e 77 |.NloopRo|w.move.w|
|00001e60| 09 63 79 4d 61 73 6b 42 | 79 74 65 2c 64 36 0d 09 |.cyMaskB|yte,d6..|
|00001e70| 09 61 6e 64 2e 77 09 62 | 69 74 4d 61 73 6b 2c 64 |.and.w.b|itMask,d|
|00001e80| 36 0d 09 09 63 6d 70 2e | 77 09 70 69 78 57 69 64 |6...cmp.|w.pixWid|
|00001e90| 65 2c 64 36 0d 09 09 62 | 67 74 2e 73 09 2e 4e 6e |e,d6...b|gt.s..Nn|
|00001ea0| 65 78 74 0d 09 09 6d 6f | 76 65 2e 6c 09 63 79 4d |ext...mo|ve.l.cyM|
|00001eb0| 61 73 6b 42 79 74 65 2c | 64 34 0d 09 09 73 75 62 |askByte,|d4...sub|
|00001ec0| 2e 77 09 64 36 2c 64 34 | 0d 09 09 6c 73 72 2e 6c |.w.d6,d4|...lsr.l|
|00001ed0| 09 64 32 2c 64 34 0d 09 | 09 6d 6f 76 65 2e 77 09 |.d2,d4..|.move.w.|
|00001ee0| 2e 73 72 63 4f 75 72 73 | 2b 2e 6f 75 72 53 74 72 |.srcOurs|+.ourStr|
|00001ef0| 69 64 65 2c 64 37 0d 09 | 09 6d 6f 76 65 2e 6c 09 |ide,d7..|.move.l.|
|00001f00| 64 34 2c 64 31 0d 09 09 | 6c 73 6c 2e 6c 09 64 37 |d4,d1...|lsl.l.d7|
|00001f10| 2c 64 31 0d 09 09 61 64 | 64 2e 6c 09 64 36 2c 64 |,d1...ad|d.l.d6,d|
|00001f20| 31 0d 09 09 61 64 64 2e | 6c 09 73 72 63 41 64 72 |1...add.|l.srcAdr|
|00001f30| 31 42 69 74 2c 64 31 0d | 09 09 6d 6f 76 65 2e 62 |1Bit,d1.|..move.b|
|00001f40| 09 64 31 2c 64 37 0d 09 | 09 6c 73 72 2e 6c 09 23 |.d1,d7..|.lsr.l.#|
|00001f50| 33 2c 64 31 0d 09 09 6d | 6f 76 65 2e 6c 09 64 31 |3,d1...m|ove.l.d1|
|00001f60| 2c 61 33 0d 09 09 6e 6f | 74 2e 62 09 64 37 0d 09 |,a3...no|t.b.d7..|
|00001f70| 09 3b 20 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 09 09 |.; -----|-----...|
|00001f80| 6d 6f 76 65 2e 77 09 2e | 64 73 74 4f 75 72 73 2b |move.w..|dstOurs+|
|00001f90| 2e 6f 75 72 53 74 72 69 | 64 65 2c 64 31 0d 09 09 |.ourStri|de,d1...|
|00001fa0| 6c 73 6c 2e 6c 09 64 31 | 2c 64 34 0d 09 09 61 64 |lsl.l.d1|,d4...ad|
|00001fb0| 64 2e 6c 09 64 36 2c 64 | 34 0d 09 09 61 64 64 2e |d.l.d6,d|4...add.|
|00001fc0| 6c 09 64 73 74 41 64 72 | 31 42 69 74 2c 64 34 0d |l.dstAdr|1Bit,d4.|
|00001fd0| 09 09 6d 6f 76 65 2e 62 | 09 64 34 2c 64 36 0d 09 |..move.b|.d4,d6..|
|00001fe0| 09 6c 73 72 2e 6c 09 23 | 33 2c 64 34 0d 09 09 6e |.lsr.l.#|3,d4...n|
|00001ff0| 6f 74 2e 62 09 64 36 0d | 09 09 62 74 73 74 09 64 |ot.b.d6.|..btst.d|
|00002000| 37 2c 28 61 33 29 0d 09 | 09 6d 6f 76 65 2e 6c 09 |7,(a3)..|.move.l.|
|00002010| 64 34 2c 61 33 0d 09 09 | 62 6e 65 2e 73 09 2e 4e |d4,a3...|bne.s..N|
|00002020| 73 65 74 4f 4e 0d 09 09 | 62 63 6c 72 09 64 36 2c |setON...|bclr.d6,|
|00002030| 28 61 33 29 0d 09 09 0d | 2e 4e 6e 65 78 74 09 09 |(a3)....|.Nnext..|
|00002040| 6c 73 72 2e 6c 09 23 31 | 2c 63 79 4d 61 73 6b 42 |lsr.l.#1|,cyMaskB|
|00002050| 79 74 65 0d 09 09 62 68 | 69 2e 73 09 2e 4e 6c 6f |yte...bh|i.s..Nlo|
|00002060| 6f 70 52 6f 77 0d 09 09 | 65 6f 72 2e 6c 09 64 33 |opRow...|eor.l.d3|
|00002070| 2c 63 79 4d 61 73 6b 42 | 79 74 65 0d 09 09 63 6d |,cyMaskB|yte...cm|
|00002080| 70 2e 6c 09 64 33 2c 63 | 79 4d 61 73 6b 42 79 74 |p.l.d3,c|yMaskByt|
|00002090| 65 0d 09 09 62 6e 65 2e | 73 09 2e 4e 6c 6f 6f 70 |e...bne.|s..Nloop|
|000020a0| 0d 09 09 62 72 61 09 2e | 44 6f 6e 65 0d 09 09 0d |...bra..|Done....|
|000020b0| 2e 4e 73 65 74 4f 4e 09 | 09 62 73 65 74 09 64 36 |.NsetON.|.bset.d6|
|000020c0| 2c 28 61 33 29 0d 09 09 | 6c 73 72 2e 6c 09 23 31 |,(a3)...|lsr.l.#1|
|000020d0| 2c 63 79 4d 61 73 6b 42 | 79 74 65 0d 09 09 62 68 |,cyMaskB|yte...bh|
|000020e0| 69 2e 73 09 2e 4e 6c 6f | 6f 70 52 6f 77 0d 09 09 |i.s..Nlo|opRow...|
|000020f0| 65 6f 72 2e 6c 09 64 33 | 2c 63 79 4d 61 73 6b 42 |eor.l.d3|,cyMaskB|
|00002100| 79 74 65 0d 09 09 63 6d | 70 2e 6c 09 64 33 2c 63 |yte...cm|p.l.d3,c|
|00002110| 79 4d 61 73 6b 42 79 74 | 65 0d 09 09 62 6e 65 2e |yMaskByt|e...bne.|
|00002120| 73 09 2e 4e 6c 6f 6f 70 | 0d 09 09 62 72 61 09 2e |s..Nloop|...bra..|
|00002130| 44 6f 6e 65 0d 09 09 0d | 09 09 3b 20 2d 2d 2d 2d |Done....|..; ----|
|00002140| 2d 2d 2d 2d 2d 2d 0d 09 | 09 3b 20 53 75 70 65 72 |------..|.; Super|
|00002150| 2d 73 70 65 63 69 61 6c | 20 63 61 73 65 20 74 68 |-special| case th|
|00002160| 61 74 20 68 6f 6c 64 73 | 20 66 6f 72 20 74 68 65 |at holds| for the|
|00002170| 20 65 6e 74 69 72 65 20 | 73 63 72 65 65 6e 3a 0d | entire |screen:.|
|00002180| 0d 2e 53 63 72 65 65 6e | 09 09 6d 6f 76 65 2e 77 |..Screen|..move.w|
|00002190| 09 73 72 63 4c 4f 47 73 | 74 72 69 64 65 2c 2e 73 |.srcLOGs|tride,.s|
|000021a0| 72 63 4f 75 72 73 2b 2e | 6f 75 72 53 74 72 69 64 |rcOurs+.|ourStrid|
|000021b0| 65 0d 09 09 6d 6f 76 65 | 2e 77 09 64 73 74 4c 4f |e...move|.w.dstLO|
|000021c0| 47 73 74 72 69 64 65 2c | 2e 64 73 74 4f 75 72 73 |Gstride,|.dstOurs|
|000021d0| 2b 2e 6f 75 72 53 74 72 | 69 64 65 0d 09 09 70 6f |+.ourStr|ide...po|
|000021e0| 70 2e 6c 09 63 79 4d 61 | 73 6b 42 79 74 65 0d 09 |p.l.cyMa|skByte..|
|000021f0| 09 6d 6f 76 65 2e 6c 09 | 73 72 63 41 64 72 31 42 |.move.l.|srcAdr1B|
|00002200| 69 74 2c 64 36 0d 09 09 | 6c 73 72 2e 6c 09 23 33 |it,d6...|lsr.l.#3|
|00002210| 2c 64 36 0d 09 09 6d 6f | 76 65 2e 6c 09 64 36 2c |,d6...mo|ve.l.d6,|
|00002220| 73 72 63 41 64 72 31 42 | 79 74 65 0d 09 09 6d 6f |srcAdr1B|yte...mo|
|00002230| 76 65 2e 6c 09 64 73 74 | 41 64 72 31 42 69 74 2c |ve.l.dst|Adr1Bit,|
|00002240| 64 36 0d 09 09 6c 73 72 | 2e 6c 09 23 33 2c 64 36 |d6...lsr|.l.#3,d6|
|00002250| 0d 09 09 6d 6f 76 65 2e | 6c 09 64 36 2c 64 73 74 |...move.|l.d6,dst|
|00002260| 41 64 72 31 42 79 74 65 | 0d 09 09 62 72 61 2e 73 |Adr1Byte|...bra.s|
|00002270| 09 2e 4e 32 4c 6f 6f 70 | 0d 09 09 0d 2e 4e 32 48 |..N2Loop|.....N2H|
|00002280| 65 61 64 09 09 65 6f 72 | 2e 6c 09 4d 61 73 6b 42 |ead..eor|.l.MaskB|
|00002290| 79 74 65 2c 63 79 4d 61 | 73 6b 42 79 74 65 0d 09 |yte,cyMa|skByte..|
|000022a0| 09 0d 2e 4e 32 4c 6f 6f | 70 09 09 63 6d 70 2e 6c |...N2Loo|p..cmp.l|
|000022b0| 09 61 34 2c 63 79 4d 61 | 73 6b 42 79 74 65 0d 09 |.a4,cyMa|skByte..|
|000022c0| 09 62 67 65 2e 73 09 2e | 4e 32 4e 65 78 74 0d 09 |.bge.s..|N2Next..|
|000022d0| 09 0d 2e 4e 32 4c 6f 6f | 70 52 6f 77 09 6d 6f 76 |...N2Loo|pRow.mov|
|000022e0| 65 2e 6c 09 63 79 4d 61 | 73 6b 42 79 74 65 2c 64 |e.l.cyMa|skByte,d|
|000022f0| 31 0d 09 09 6c 73 72 2e | 6c 09 23 33 2c 64 31 0d |1...lsr.|l.#3,d1.|
|00002300| 09 09 62 74 73 74 09 63 | 79 4d 61 73 6b 42 79 74 |..btst.c|yMaskByt|
|00002310| 65 2c 30 28 73 72 63 41 | 64 72 31 42 79 74 65 2c |e,0(srcA|dr1Byte,|
|00002320| 64 31 29 0d 09 09 62 6e | 65 2e 73 09 2e 4e 32 73 |d1)...bn|e.s..N2s|
|00002330| 65 74 4f 4e 0d 09 09 62 | 63 6c 72 09 63 79 4d 61 |etON...b|clr.cyMa|
|00002340| 73 6b 42 79 74 65 2c 30 | 28 64 73 74 41 64 72 31 |skByte,0|(dstAdr1|
|00002350| 42 79 74 65 2c 64 31 29 | 0d 09 09 0d 2e 4e 32 4e |Byte,d1)|.....N2N|
|00002360| 65 78 74 09 09 6c 73 72 | 2e 6c 09 23 31 2c 63 79 |ext..lsr|.l.#1,cy|
|00002370| 4d 61 73 6b 42 79 74 65 | 0d 09 09 62 68 69 2e 73 |MaskByte|...bhi.s|
|00002380| 09 2e 4e 32 4c 6f 6f 70 | 52 6f 77 0d 09 09 62 6e |..N2Loop|Row...bn|
|00002390| 65 2e 73 09 2e 4e 32 48 | 65 61 64 0d 09 09 62 72 |e.s..N2H|ead...br|
|000023a0| 61 2e 73 09 2e 4e 32 44 | 6f 6e 65 0d 09 09 0d 2e |a.s..N2D|one.....|
|000023b0| 4e 32 73 65 74 4f 4e 09 | 62 73 65 74 09 63 79 4d |N2setON.|bset.cyM|
|000023c0| 61 73 6b 42 79 74 65 2c | 30 28 64 73 74 41 64 72 |askByte,|0(dstAdr|
|000023d0| 31 42 79 74 65 2c 64 31 | 29 0d 09 09 6c 73 72 2e |1Byte,d1|)...lsr.|
|000023e0| 6c 09 23 31 2c 63 79 4d | 61 73 6b 42 79 74 65 0d |l.#1,cyM|askByte.|
|000023f0| 09 09 62 68 69 2e 73 09 | 2e 4e 32 4c 6f 6f 70 52 |..bhi.s.|.N2LoopR|
|00002400| 6f 77 0d 09 09 62 6e 65 | 2e 73 09 2e 4e 32 48 65 |ow...bne|.s..N2He|
|00002410| 61 64 0d 09 09 0d 2e 4e | 32 44 6f 6e 65 09 09 6d |ad.....N|2Done..m|
|00002420| 6f 76 65 2e 77 09 2e 73 | 72 63 4f 75 72 73 2b 2e |ove.w..s|rcOurs+.|
|00002430| 6f 75 72 4c 62 69 74 73 | 2c 64 30 0d 09 09 6d 6f |ourLbits|,d0...mo|
|00002440| 76 65 2e 77 09 2e 64 73 | 74 4f 75 72 73 2b 2e 6f |ve.w..ds|tOurs+.o|
|00002450| 75 72 4c 62 69 74 73 2c | 64 31 0d 09 09 62 72 61 |urLbits,|d1...bra|
|00002460| 09 2e 44 6f 6e 65 41 09 | 09 09 3b 20 41 6c 74 65 |..DoneA.|..; Alte|
|00002470| 72 6e 61 74 65 20 66 69 | 6e 69 73 68 20 65 6e 74 |rnate fi|nish ent|
|00002480| 72 79 2e 0d 09 09 0d 09 | 09 3b 20 2d 2d 2d 2d 2d |ry......|.; -----|
|00002490| 2d 2d 2d 2d 2d 0d 09 09 | 3b 20 4d 61 69 6e 20 4c |-----...|; Main L|
|000024a0| 6f 6f 70 3a 0d 09 09 3b | 20 20 20 4d 61 70 20 74 |oop:...;| Map t|
|000024b0| 68 65 20 73 65 71 75 65 | 6e 63 65 20 65 6c 65 6d |he seque|nce elem|
|000024c0| 65 6e 74 20 69 6e 74 6f | 20 72 6f 77 73 20 26 20 |ent into| rows & |
|000024d0| 63 6f 6c 75 6d 6e 73 2e | 0d 09 09 3b 20 20 20 43 |columns.|...; C|
|000024e0| 68 65 63 6b 20 69 66 20 | 69 74 27 73 20 69 6e 20 |heck if |it's in |
|000024f0| 62 6f 75 6e 64 73 20 61 | 6e 64 20 73 6b 69 70 20 |bounds a|nd skip |
|00002500| 6f 6e 20 69 66 20 6e 6f | 74 2e 0d 09 09 3b 20 20 |on if no|t....; |
|00002510| 20 47 65 6e 65 72 61 74 | 65 20 6e 65 78 74 20 65 | Generat|e next e|
|00002520| 6c 65 6d 65 6e 74 20 75 | 6e 74 69 6c 20 66 69 6e |lement u|ntil fin|
|00002530| 69 73 68 65 64 2e 0d 0d | 2e 4d 61 69 6e 09 09 70 |ished...|.Main..p|
|00002540| 6f 70 2e 6c 09 73 72 63 | 41 64 72 31 42 69 74 0d |op.l.src|Adr1Bit.|
|00002550| 2e 4d 61 69 6e 4c 6f 6f | 70 09 63 6d 70 2e 6c 09 |.MainLoo|p.cmp.l.|
|00002560| 61 34 2c 63 79 4d 61 73 | 6b 42 79 74 65 09 09 3b |a4,cyMas|kByte..;|
|00002570| 20 49 73 20 72 6f 77 20 | 69 6e 20 62 6f 75 6e 64 | Is row |in bound|
|00002580| 73 20 3f 3f 0d 09 09 62 | 67 65 2e 73 09 2e 4e 65 |s ??...b|ge.s..Ne|
|00002590| 78 74 0d 09 09 0d 09 09 | 3b 20 2d 2d 2d 2d 2d 2d |xt......|; ------|
|000025a0| 2d 2d 2d 2d 0d 09 09 3b | 20 4d 61 70 20 69 74 20 |----...;| Map it |
|000025b0| 69 6e 74 6f 20 74 68 65 | 20 63 6f 6c 75 6d 6e 2e |into the| column.|
|000025c0| 20 20 54 68 65 6e 20 63 | 68 65 63 6b 20 62 6f 75 | Then c|heck bou|
|000025d0| 6e 64 73 3a 0d 09 09 0d | 2e 4c 6f 6f 70 52 6f 77 |nds:....|.LoopRow|
|000025e0| 09 6d 6f 76 65 2e 77 09 | 63 79 4d 61 73 6b 42 79 |.move.w.|cyMaskBy|
|000025f0| 74 65 2c 64 36 0d 09 09 | 61 6e 64 2e 77 09 62 69 |te,d6...|and.w.bi|
|00002600| 74 4d 61 73 6b 2c 64 36 | 0d 09 09 63 6d 70 2e 77 |tMask,d6|...cmp.w|
|00002610| 09 70 69 78 57 69 64 65 | 2c 64 36 0d 09 09 62 67 |.pixWide|,d6...bg|
|00002620| 74 2e 73 09 2e 4e 65 78 | 74 0d 09 09 6d 6f 76 65 |t.s..Nex|t...move|
|00002630| 2e 6c 09 63 79 4d 61 73 | 6b 42 79 74 65 2c 64 34 |.l.cyMas|kByte,d4|
|00002640| 0d 09 09 73 75 62 2e 77 | 09 64 36 2c 64 34 0d 09 |...sub.w|.d6,d4..|
|00002650| 09 6c 73 72 2e 6c 09 64 | 32 2c 64 34 0d 09 09 0d |.lsr.l.d|2,d4....|
|00002660| 09 09 3b 20 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 09 |..; ----|------..|
|00002670| 09 3b 20 47 65 74 20 74 | 68 65 20 53 6f 75 72 63 |.; Get t|he Sourc|
|00002680| 65 20 42 79 74 65 20 26 | 20 42 69 74 20 6f 66 66 |e Byte &| Bit off|
|00002690| 73 65 74 3a 0d 09 09 0d | 09 09 6d 6f 76 65 2e 77 |set:....|..move.w|
|000026a0| 09 2e 73 72 63 4f 75 72 | 73 2b 2e 6f 75 72 53 74 |..srcOur|s+.ourSt|
|000026b0| 72 69 64 65 2c 64 31 0d | 09 09 6d 75 6c 75 09 64 |ride,d1.|..mulu.d|
|000026c0| 34 2c 64 31 0d 09 09 61 | 64 64 2e 6c 09 64 36 2c |4,d1...a|dd.l.d6,|
|000026d0| 64 31 0d 09 09 61 64 64 | 2e 6c 09 73 72 63 41 64 |d1...add|.l.srcAd|
|000026e0| 72 31 42 79 74 65 2c 64 | 31 0d 09 09 6d 6f 76 65 |r1Byte,d|1...move|
|000026f0| 2e 62 09 64 31 2c 64 37 | 0d 09 09 6c 73 72 2e 6c |.b.d1,d7|...lsr.l|
|00002700| 09 23 33 2c 64 31 0d 09 | 09 6d 6f 76 65 2e 6c 09 |.#3,d1..|.move.l.|
|00002710| 64 31 2c 61 33 0d 09 09 | 6e 6f 74 2e 62 09 64 37 |d1,a3...|not.b.d7|
|00002720| 0d 09 09 0d 09 09 3b 20 | 2d 2d 2d 2d 2d 2d 2d 2d |......; |--------|
|00002730| 2d 2d 0d 09 09 3b 20 46 | 69 6e 64 20 44 65 73 74 |--...; F|ind Dest|
|00002740| 69 6e 61 74 69 6f 6e 20 | 42 69 74 20 61 64 64 72 |ination |Bit addr|
|00002750| 65 73 73 20 26 20 42 69 | 74 20 6f 66 66 73 65 74 |ess & Bi|t offset|
|00002760| 3a 0d 09 09 0d 09 09 6d | 6f 76 65 2e 77 09 2e 64 |:......m|ove.w..d|
|00002770| 73 74 4f 75 72 73 2b 2e | 6f 75 72 53 74 72 69 64 |stOurs+.|ourStrid|
|00002780| 65 2c 64 31 0d 09 09 6d | 75 6c 75 09 64 31 2c 64 |e,d1...m|ulu.d1,d|
|00002790| 34 0d 09 09 61 64 64 2e | 6c 09 64 36 2c 64 34 0d |4...add.|l.d6,d4.|
|000027a0| 09 09 61 64 64 2e 6c 09 | 64 73 74 41 64 72 31 42 |..add.l.|dstAdr1B|
|000027b0| 79 74 65 2c 64 34 0d 09 | 09 6d 6f 76 65 2e 62 09 |yte,d4..|.move.b.|
|000027c0| 64 34 2c 64 36 0d 09 09 | 6c 73 72 2e 6c 09 23 33 |d4,d6...|lsr.l.#3|
|000027d0| 2c 64 34 0d 09 09 6e 6f | 74 2e 62 09 64 36 0d 09 |,d4...no|t.b.d6..|
|000027e0| 09 62 74 73 74 09 64 37 | 2c 28 61 33 29 0d 09 09 |.btst.d7|,(a3)...|
|000027f0| 6d 6f 76 65 2e 6c 09 64 | 34 2c 61 33 0d 09 09 62 |move.l.d|4,a3...b|
|00002800| 6e 65 2e 73 09 2e 73 65 | 74 4f 4e 0d 09 09 62 63 |ne.s..se|tON...bc|
|00002810| 6c 72 09 64 36 2c 28 61 | 33 29 0d 09 09 0d 09 09 |lr.d6,(a|3)......|
|00002820| 3b 20 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 09 09 3b |; ------|----...;|
|00002830| 20 46 69 6e 64 20 6e 65 | 78 74 20 73 65 71 75 65 | Find ne|xt seque|
|00002840| 6e 63 65 20 65 6c 65 6d | 65 6e 74 3a 0d 09 09 0d |nce elem|ent:....|
|00002850| 2e 4e 65 78 74 09 09 6c | 73 72 2e 6c 09 23 31 2c |.Next..l|sr.l.#1,|
|00002860| 63 79 4d 61 73 6b 42 79 | 74 65 0d 09 09 62 68 69 |cyMaskBy|te...bhi|
|00002870| 2e 73 09 2e 4c 6f 6f 70 | 52 6f 77 0d 09 09 65 6f |.s..Loop|Row...eo|
|00002880| 72 2e 6c 09 4d 61 73 6b | 42 79 74 65 2c 63 79 4d |r.l.Mask|Byte,cyM|
|00002890| 61 73 6b 42 79 74 65 0d | 09 09 63 6d 70 2e 6c 09 |askByte.|..cmp.l.|
|000028a0| 4d 61 73 6b 42 79 74 65 | 2c 63 79 4d 61 73 6b 42 |MaskByte|,cyMaskB|
|000028b0| 79 74 65 0d 09 09 62 6e | 65 2e 73 09 2e 4d 61 69 |yte...bn|e.s..Mai|
|000028c0| 6e 4c 6f 6f 70 0d 09 09 | 62 72 61 09 2e 44 6f 6e |nLoop...|bra..Don|
|000028d0| 65 0d 09 09 0d 2e 73 65 | 74 4f 4e 09 09 62 73 65 |e.....se|tON..bse|
|000028e0| 74 09 64 36 2c 28 61 33 | 29 0d 09 09 6c 73 72 2e |t.d6,(a3|)...lsr.|
|000028f0| 6c 09 23 31 2c 63 79 4d | 61 73 6b 42 79 74 65 0d |l.#1,cyM|askByte.|
|00002900| 09 09 62 68 69 2e 73 09 | 2e 4c 6f 6f 70 52 6f 77 |..bhi.s.|.LoopRow|
|00002910| 0d 09 09 65 6f 72 2e 6c | 09 4d 61 73 6b 42 79 74 |...eor.l|.MaskByt|
|00002920| 65 2c 63 79 4d 61 73 6b | 42 79 74 65 0d 09 09 63 |e,cyMask|Byte...c|
|00002930| 6d 70 2e 6c 09 4d 61 73 | 6b 42 79 74 65 2c 63 79 |mp.l.Mas|kByte,cy|
|00002940| 4d 61 73 6b 42 79 74 65 | 0d 09 09 62 6e 65 2e 73 |MaskByte|...bne.s|
|00002950| 09 2e 4d 61 69 6e 4c 6f | 6f 70 0d 09 09 0d 09 09 |..MainLo|op......|
|00002960| 3b 20 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 09 09 3b |; ------|----...;|
|00002970| 20 57 68 65 6e 20 77 65 | 27 72 65 20 66 69 6e 69 | When we|'re fini|
|00002980| 73 68 65 64 3a 0d 09 09 | 0d 2e 44 6f 6e 65 09 09 |shed:...|..Done..|
|00002990| 6d 6f 76 65 2e 77 09 2e | 73 72 63 4f 75 72 73 2b |move.w..|srcOurs+|
|000029a0| 2e 6f 75 72 4c 62 69 74 | 73 2c 64 30 0d 09 09 6d |.ourLbit|s,d0...m|
|000029b0| 6f 76 65 2e 77 09 2e 64 | 73 74 4f 75 72 73 2b 2e |ove.w..d|stOurs+.|
|000029c0| 6f 75 72 4c 62 69 74 73 | 2c 64 31 0d 09 09 6e 6f |ourLbits|,d1...no|
|000029d0| 74 2e 62 09 64 30 0d 09 | 09 6e 6f 74 2e 62 09 64 |t.b.d0..|.not.b.d|
|000029e0| 31 0d 09 09 0d 09 09 3b | 20 41 6c 74 65 72 6e 61 |1......;| Alterna|
|000029f0| 74 65 20 66 69 6e 69 73 | 68 20 65 6e 74 72 79 3a |te finis|h entry:|
|00002a00| 0d 09 09 0d 2e 44 6f 6e | 65 41 09 09 6d 6f 76 65 |.....Don|eA..move|
|00002a10| 2e 6c 09 2e 73 72 63 4f | 75 72 73 2b 2e 6f 75 72 |.l..srcO|urs+.our|
|00002a20| 42 61 73 65 2c 61 30 0d | 09 09 6d 6f 76 65 2e 6c |Base,a0.|..move.l|
|00002a30| 09 2e 64 73 74 4f 75 72 | 73 2b 2e 6f 75 72 42 61 |..dstOur|s+.ourBa|
|00002a40| 73 65 2c 61 31 0d 09 09 | 62 73 65 74 09 64 31 2c |se,a1...|bset.d1,|
|00002a50| 28 61 31 29 0d 09 09 62 | 74 73 74 09 64 30 2c 28 |(a1)...b|tst.d0,(|
|00002a60| 61 30 29 0d 09 09 62 6e | 65 2e 73 09 2e 65 6e 64 |a0)...bn|e.s..end|
|00002a70| 09 09 0d 09 09 62 63 6c | 72 09 64 31 2c 28 61 31 |.....bcl|r.d1,(a1|
|00002a80| 29 0d 09 09 3b 20 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |)...; --|--------|
|00002a90| 0d 2e 65 6e 64 09 09 53 | 68 6f 77 43 75 72 73 6f |..end..S|howCurso|
|00002aa0| 72 09 09 09 3b 20 49 74 | 27 73 20 73 68 6f 77 20 |r...; It|'s show |
|00002ab0| 74 69 6d 65 2c 20 66 6f | 6c 6b 73 20 21 21 0d 09 |time, fo|lks !!..|
|00002ac0| 09 6d 6f 76 65 6d 2e 6c | 09 28 73 70 29 2b 2c 61 |.movem.l|.(sp)+,a|
|00002ad0| 31 2d 61 34 2f 64 30 2d | 64 37 09 3b 20 57 69 74 |1-a4/d0-|d7.; Wit|
|00002ae0| 68 64 72 61 77 20 61 6c | 6c 20 79 6f 75 72 20 73 |hdraw al|l your s|
|00002af0| 61 76 69 6e 67 73 2e 0d | 0d 09 09 65 78 69 74 0d |avings..|...exit.|
|00002b00| 09 09 0d 09 09 70 61 67 | 65 0d 09 09 0d 3b 2a 2a |.....pag|e....;**|
|00002b10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002b20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002b30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002b40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0d 3b |********|******.;|
|00002b50| 20 46 55 4e 43 54 49 4f | 4e 20 20 43 6f 6e 76 65 | FUNCTIO|N Conve|
|00002b60| 72 74 20 28 73 72 63 4d | 61 70 3a 20 42 69 74 4d |rt (srcM|ap: BitM|
|00002b70| 61 70 3b 20 73 72 63 52 | 65 63 74 3a 20 52 65 63 |ap; srcR|ect: Rec|
|00002b80| 74 3b 0d 3b 09 09 20 20 | 20 20 20 56 41 52 20 6f |t;.;.. | VAR o|
|00002b90| 75 72 52 65 63 3a 20 52 | 65 63 6f 72 64 29 20 3a |urRec: R|ecord) :|
|00002ba0| 20 42 4f 4f 4c 45 41 4e | 3b 0d 3b 20 43 6f 6e 76 | BOOLEAN|;.; Conv|
|00002bb0| 65 72 74 20 61 20 72 65 | 63 74 61 6e 67 6c 65 20 |ert a re|ctangle |
|00002bc0| 61 6e 64 20 61 6e 20 65 | 6e 63 6c 6f 73 69 6e 67 |and an e|nclosing|
|00002bd0| 20 42 69 74 4d 61 70 20 | 74 6f 20 6f 75 72 20 69 | BitMap |to our i|
|00002be0| 6e 74 65 72 6e 61 6c 20 | 66 6f 72 6d 61 74 3a 0d |nternal |format:.|
|00002bf0| 0d 43 6f 6e 76 65 72 74 | 09 09 66 75 6e 63 09 62 |.Convert|..func.b|
|00002c00| 6f 6f 6c 65 61 6e 09 09 | 09 3b 20 53 75 63 63 65 |oolean..|.; Succe|
|00002c10| 73 73 66 75 6c 20 3f 3f | 0d 2e 62 69 74 4d 61 70 |ssful ??|..bitMap|
|00002c20| 09 09 70 6f 69 6e 74 65 | 72 09 09 09 09 3b 20 45 |..pointe|r....; E|
|00002c30| 6e 63 6c 6f 73 69 6e 67 | 20 42 69 74 4d 61 70 2e |nclosing| BitMap.|
|00002c40| 0d 2e 69 6e 6e 65 72 52 | 65 63 74 09 70 6f 69 6e |..innerR|ect.poin|
|00002c50| 74 65 72 09 09 09 09 3b | 20 49 6e 6e 65 72 20 52 |ter....;| Inner R|
|00002c60| 65 63 74 61 6e 67 6c 65 | 2e 0d 2e 6f 75 72 52 65 |ectangle|...ourRe|
|00002c70| 63 6f 72 64 09 76 61 72 | 09 09 09 09 3b 20 4f 75 |cord.var|....; Ou|
|00002c80| 72 20 69 6e 74 65 72 6e | 61 6c 20 73 74 72 75 63 |r intern|al struc|
|00002c90| 74 75 72 65 2e 0d 09 09 | 65 6e 64 50 61 72 6d 73 |ture....|endParms|
|00002ca0| 0d 09 09 0d 09 09 6e 6f | 4c 6f 63 61 6c 73 0d 09 |......no|Locals..|
|00002cb0| 09 0d 09 09 64 73 65 63 | 09 30 09 09 3b 20 4f 75 |....dsec|.0..; Ou|
|00002cc0| 72 20 73 70 65 63 69 61 | 6c 20 52 65 63 6f 72 64 |r specia|l Record|
|00002cd0| 2e 0d 2e 6f 75 72 52 6f | 77 73 09 77 6f 72 64 09 |...ourRo|ws.word.|
|00002ce0| 09 09 3b 20 4c 61 73 74 | 20 72 6f 77 23 20 61 6e |..; Last| row# an|
|00002cf0| 64 20 63 6f 6c 75 6d 6e | 23 20 6f 66 20 69 6e 6e |d column|# of inn|
|00002d00| 65 72 0d 2e 6f 75 72 43 | 6f 6c 73 09 77 6f 72 64 |er..ourC|ols.word|
|00002d10| 09 09 09 3b 20 20 20 52 | 65 63 74 61 6e 67 6c 65 |...; R|ectangle|
|00002d20| 20 5b 6e 6f 72 6d 61 6c | 69 7a 65 64 20 74 6f 20 | [normal|ized to |
|00002d30| 30 5d 2e 0d 2e 6f 75 72 | 4c 62 69 74 73 09 77 6f |0]...our|Lbits.wo|
|00002d40| 72 64 09 09 09 3b 20 49 | 67 6e 6f 72 65 64 20 42 |rd...; I|gnored B|
|00002d50| 69 74 73 20 69 6e 20 31 | 73 74 20 42 79 74 65 20 |its in 1|st Byte |
|00002d60| 6f 66 20 52 65 63 74 2e | 0d 2e 6f 75 72 53 74 72 |of Rect.|..ourStr|
|00002d70| 69 64 65 09 77 6f 72 64 | 09 09 09 3b 20 72 6f 77 |ide.word|...; row|
|00002d80| 42 69 74 73 20 69 6e 20 | 62 69 74 4d 61 70 2e 0d |Bits in |bitMap..|
|00002d90| 2e 6f 75 72 42 61 73 65 | 09 70 6f 69 6e 74 65 72 |.ourBase|.pointer|
|00002da0| 09 09 09 3b 20 2e 2e 2e | 20 74 6f 20 31 73 74 20 |...; ...| to 1st |
|00002db0| 42 79 74 65 20 69 6e 20 | 69 6e 6e 65 72 20 52 65 |Byte in |inner Re|
|00002dc0| 63 74 2e 0d 09 09 64 65 | 6e 64 09 2e 6f 75 72 53 |ct....de|nd..ourS|
|00002dd0| 69 7a 65 0d 09 09 0d 09 | 09 0d 09 09 65 6e 74 65 |ize.....|....ente|
|00002de0| 72 0d 09 09 0d 09 09 6d | 6f 76 65 6d 2e 6c 09 64 |r......m|ovem.l.d|
|00002df0| 30 2d 64 32 2f 61 31 2d | 61 33 2c 2d 28 73 70 29 |0-d2/a1-|a3,-(sp)|
|00002e00| 09 3b 20 59 6f 75 72 20 | 6c 69 66 65 20 70 72 65 |.; Your |life pre|
|00002e10| 73 65 72 76 65 72 2e 0d | 09 09 73 66 09 2e 72 65 |server..|..sf..re|
|00002e20| 73 75 6c 74 09 09 09 3b | 20 41 73 73 75 6d 65 20 |sult...;| Assume |
|00002e30| 4e 4f 54 20 6f 6b 61 79 | 20 21 21 0d 09 09 0d 09 |NOT okay| !!.....|
|00002e40| 09 3b 20 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 09 09 |.; -----|-----...|
|00002e50| 3b 20 53 65 74 75 70 20 | 52 65 67 69 73 74 65 72 |; Setup |Register|
|00002e60| 73 20 61 6e 64 20 7a 65 | 72 6f 2d 6f 75 74 20 6f |s and ze|ro-out o|
|00002e70| 75 72 20 72 65 74 75 72 | 6e 65 64 20 52 65 63 6f |ur retur|ned Reco|
|00002e80| 72 64 3a 0d 09 09 0d 09 | 09 6d 6f 76 65 2e 6c 09 |rd:.....|.move.l.|
|00002e90| 2e 62 69 74 4d 61 70 2c | 61 31 0d 09 09 6d 6f 76 |.bitMap,|a1...mov|
|00002ea0| 65 2e 6c 09 2e 69 6e 6e | 65 72 52 65 63 74 2c 61 |e.l..inn|erRect,a|
|00002eb0| 32 0d 09 09 6d 6f 76 65 | 2e 6c 09 2e 6f 75 72 52 |2...move|.l..ourR|
|00002ec0| 65 63 6f 72 64 2c 61 33 | 0d 09 09 6d 6f 76 65 2e |ecord,a3|...move.|
|00002ed0| 6c 09 23 2e 6f 75 72 53 | 69 7a 65 2c 64 30 0d 09 |l.#.ourS|ize,d0..|
|00002ee0| 09 73 75 62 71 2e 6c 09 | 23 31 2c 64 30 09 09 09 |.subq.l.|#1,d0...|
|00002ef0| 3b 20 46 6f 72 20 22 64 | 62 72 61 22 20 62 65 6c |; For "d|bra" bel|
|00002f00| 6f 77 2e 0d 2e 63 6c 65 | 61 72 09 09 63 6c 72 2e |ow...cle|ar..clr.|
|00002f10| 62 09 28 61 33 29 2b 0d | 09 09 64 62 72 61 09 64 |b.(a3)+.|..dbra.d|
|00002f20| 30 2c 2e 63 6c 65 61 72 | 0d 09 09 6d 6f 76 65 2e |0,.clear|...move.|
|00002f30| 6c 09 2e 6f 75 72 52 65 | 63 6f 72 64 2c 61 33 09 |l..ourRe|cord,a3.|
|00002f40| 09 3b 20 52 65 73 65 74 | 20 74 6f 20 70 61 73 73 |.; Reset| to pass|
|00002f50| 65 64 20 50 6f 69 6e 74 | 65 72 2e 0d 09 09 0d 09 |ed Point|er......|
|00002f60| 09 3b 20 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 09 09 |.; -----|-----...|
|00002f70| 3b 20 4e 6f 77 2c 20 66 | 69 6c 6c 2d 69 6e 20 6f |; Now, f|ill-in o|
|00002f80| 75 72 20 72 65 74 75 72 | 6e 65 64 20 52 65 63 6f |ur retur|ned Reco|
|00002f90| 72 64 3a 0d 09 09 3b 0d | 09 09 3b 20 20 20 46 69 |rd:...;.|..; Fi|
|00002fa0| 72 73 74 2c 20 63 61 6c | 63 75 6c 61 74 65 20 61 |rst, cal|culate a|
|00002fb0| 64 64 72 65 73 73 20 6f | 66 20 74 68 65 20 31 73 |ddress o|f the 1s|
|00002fc0| 74 20 42 79 74 65 20 69 | 6e 20 31 73 74 0d 09 09 |t Byte i|n 1st...|
|00002fd0| 3b 20 20 20 72 6f 77 20 | 6f 66 20 42 69 74 4d 61 |; row |of BitMa|
|00002fe0| 70 20 6f 63 63 75 70 69 | 65 64 20 62 79 20 74 68 |p occupi|ed by th|
|00002ff0| 65 20 69 6e 6e 65 72 20 | 52 65 63 74 61 6e 67 6c |e inner |Rectangl|
|00003000| 65 2e 0d 09 09 0d 09 09 | 63 6c 72 2e 6c 09 64 30 |e.......|clr.l.d0|
|00003010| 0d 09 09 6d 6f 76 65 2e | 77 09 74 6f 70 28 61 32 |...move.|w.top(a2|
|00003020| 29 2c 64 30 0d 09 09 73 | 75 62 2e 77 09 62 6f 75 |),d0...s|ub.w.bou|
|00003030| 6e 64 73 2b 74 6f 70 28 | 61 31 29 2c 64 30 09 3b |nds+top(|a1),d0.;|
|00003040| 20 48 6f 77 20 6d 61 6e | 79 20 72 6f 77 73 20 64 | How man|y rows d|
|00003050| 6f 77 6e 20 3d 20 64 76 | 2e 0d 09 09 6d 75 6c 75 |own = dv|....mulu|
|00003060| 09 72 6f 77 42 79 74 65 | 73 28 61 31 29 2c 64 30 |.rowByte|s(a1),d0|
|00003070| 09 09 3b 20 42 79 74 65 | 73 20 64 6f 77 6e 20 66 |..; Byte|s down f|
|00003080| 72 6f 6d 20 28 30 2c 30 | 29 2e 0d 09 09 61 64 64 |rom (0,0|)....add|
|00003090| 2e 6c 09 62 61 73 65 41 | 64 64 72 28 61 31 29 2c |.l.baseA|ddr(a1),|
|000030a0| 64 30 0d 09 09 3b 20 2d | 2d 2d 2d 2d 2d 2d 2d 2d |d0...; -|--------|
|000030b0| 2d 0d 09 09 6d 6f 76 65 | 2e 77 09 6c 65 66 74 28 |-...move|.w.left(|
|000030c0| 61 32 29 2c 64 31 0d 09 | 09 73 75 62 2e 77 09 62 |a2),d1..|.sub.w.b|
|000030d0| 6f 75 6e 64 73 2b 6c 65 | 66 74 28 61 31 29 2c 64 |ounds+le|ft(a1),d|
|000030e0| 31 09 3b 20 54 68 65 6e | 2c 20 42 69 74 73 20 61 |1.; Then|, Bits a|
|000030f0| 63 72 6f 73 73 20 74 6f | 20 52 65 63 74 2e 0d 09 |cross to| Rect...|
|00003100| 09 3b 20 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 09 09 |.; -----|-----...|
|00003110| 6d 6f 76 65 2e 77 09 64 | 31 2c 64 32 0d 09 09 61 |move.w.d|1,d2...a|
|00003120| 6e 64 69 2e 77 09 23 37 | 2c 64 32 09 09 09 3b 20 |ndi.w.#7|,d2...; |
|00003130| 4d 4f 44 20 38 2e 0d 09 | 09 6d 6f 76 65 2e 77 09 |MOD 8...|.move.w.|
|00003140| 64 32 2c 2e 6f 75 72 4c | 62 69 74 73 28 61 33 29 |d2,.ourL|bits(a3)|
|00003150| 09 3b 20 23 20 6f 66 20 | 42 69 74 73 20 74 6f 20 |.; # of |Bits to |
|00003160| 73 6b 69 70 2e 0d 09 09 | 3b 20 2d 2d 2d 2d 2d 2d |skip....|; ------|
|00003170| 2d 2d 2d 2d 0d 09 09 6c | 73 72 2e 77 09 23 33 2c |----...l|sr.w.#3,|
|00003180| 64 31 09 09 09 3b 20 42 | 79 74 65 73 20 61 63 72 |d1...; B|ytes acr|
|00003190| 6f 73 73 20 74 6f 20 52 | 65 63 74 61 6e 67 6c 65 |oss to R|ectangle|
|000031a0| 2e 0d 09 09 65 78 74 2e | 6c 09 64 31 0d 09 09 61 |....ext.|l.d1...a|
|000031b0| 64 64 2e 6c 09 64 31 2c | 64 30 09 09 09 3b 20 41 |dd.l.d1,|d0...; A|
|000031c0| 64 64 72 65 73 73 20 6f | 66 20 31 73 74 20 42 79 |ddress o|f 1st By|
|000031d0| 74 65 20 69 6e 20 52 65 | 63 74 2e 0d 09 09 6d 6f |te in Re|ct....mo|
|000031e0| 76 65 2e 6c 09 64 30 2c | 2e 6f 75 72 42 61 73 65 |ve.l.d0,|.ourBase|
|000031f0| 28 61 33 29 0d 09 09 3b | 20 2d 2d 2d 2d 2d 2d 2d |(a3)...;| -------|
|00003200| 2d 2d 2d 0d 09 09 6d 6f | 76 65 2e 77 09 72 6f 77 |---...mo|ve.w.row|
|00003210| 42 79 74 65 73 28 61 31 | 29 2c 64 30 0d 09 09 6c |Bytes(a1|),d0...l|
|00003220| 73 6c 2e 77 09 23 33 2c | 64 30 09 09 09 3b 20 42 |sl.w.#3,|d0...; B|
|00003230| 79 74 65 73 20 2d 2d 3e | 20 42 69 74 73 2e 0d 09 |ytes -->| Bits...|
|00003240| 09 6d 6f 76 65 2e 77 09 | 64 30 2c 2e 6f 75 72 53 |.move.w.|d0,.ourS|
|00003250| 74 72 69 64 65 28 61 33 | 29 0d 09 09 3b 20 2d 2d |tride(a3|)...; --|
|00003260| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 09 09 6d 6f 76 65 2e |--------|...move.|
|00003270| 77 09 62 6f 74 74 6f 6d | 28 61 32 29 2c 64 30 0d |w.bottom|(a2),d0.|
|00003280| 09 09 73 75 62 2e 77 09 | 74 6f 70 28 61 32 29 2c |..sub.w.|top(a2),|
|00003290| 64 30 09 09 3b 20 48 65 | 69 67 68 74 20 6f 66 20 |d0..; He|ight of |
|000032a0| 52 65 63 74 61 6e 67 6c | 65 2e 0d 09 09 73 75 62 |Rectangl|e....sub|
|000032b0| 71 2e 77 09 23 31 2c 64 | 30 09 09 09 3b 20 4e 6f |q.w.#1,d|0...; No|
|000032c0| 72 6d 61 6c 69 7a 65 64 | 20 74 6f 20 30 2e 0d 09 |rmalized| to 0...|
|000032d0| 09 62 6d 69 2e 73 09 2e | 65 6e 64 09 09 09 3b 20 |.bmi.s..|end...; |
|000032e0| 5a 65 72 6f 20 68 65 69 | 67 68 74 20 74 6f 20 62 |Zero hei|ght to b|
|000032f0| 65 67 69 6e 20 77 69 74 | 68 2e 0d 09 09 6d 6f 76 |egin wit|h....mov|
|00003300| 65 2e 77 09 64 30 2c 2e | 6f 75 72 52 6f 77 73 28 |e.w.d0,.|ourRows(|
|00003310| 61 33 29 0d 09 09 3b 20 | 2d 2d 2d 2d 2d 2d 2d 2d |a3)...; |--------|
|00003320| 2d 2d 0d 09 09 6d 6f 76 | 65 2e 77 09 72 69 67 68 |--...mov|e.w.righ|
|00003330| 74 28 61 32 29 2c 64 31 | 0d 09 09 73 75 62 2e 77 |t(a2),d1|...sub.w|
|00003340| 09 6c 65 66 74 28 61 32 | 29 2c 64 31 09 09 3b 20 |.left(a2|),d1..; |
|00003350| 57 69 64 74 68 2e 0d 09 | 09 73 75 62 71 2e 77 09 |Width...|.subq.w.|
|00003360| 23 31 2c 64 31 09 09 09 | 3b 20 4e 6f 72 6d 61 6c |#1,d1...|; Normal|
|00003370| 69 7a 65 64 20 74 6f 20 | 30 2e 0d 09 09 62 6d 69 |ized to |0....bmi|
|00003380| 2e 73 09 2e 65 6e 64 09 | 09 09 3b 20 5a 65 72 6f |.s..end.|..; Zero|
|00003390| 20 77 69 64 74 68 20 74 | 6f 20 62 65 67 69 6e 20 | width t|o begin |
|000033a0| 77 69 74 68 2e 0d 09 09 | 6d 6f 76 65 2e 77 09 64 |with....|move.w.d|
|000033b0| 31 2c 2e 6f 75 72 43 6f | 6c 73 28 61 33 29 0d 09 |1,.ourCo|ls(a3)..|
|000033c0| 09 0d 09 09 73 74 09 2e | 72 65 73 75 6c 74 09 09 |....st..|result..|
|000033d0| 09 3b 20 45 76 65 72 79 | 74 68 69 6e 67 27 73 20 |.; Every|thing's |
|000033e0| 6f 6b 61 79 20 21 21 0d | 09 09 3b 20 2d 2d 2d 2d |okay !!.|..; ----|
|000033f0| 2d 2d 2d 2d 2d 2d 0d 2e | 65 6e 64 09 09 6d 6f 76 |------..|end..mov|
|00003400| 65 6d 2e 6c 09 28 73 70 | 29 2b 2c 64 30 2d 64 32 |em.l.(sp|)+,d0-d2|
|00003410| 2f 61 31 2d 61 33 09 3b | 20 57 69 74 68 64 72 61 |/a1-a3.;| Withdra|
|00003420| 77 20 61 6c 6c 20 79 6f | 75 72 20 73 61 76 69 6e |w all yo|ur savin|
|00003430| 67 73 2e 09 09 0d 0d 09 | 09 65 78 69 74 0d 09 09 |gs......|.exit...|
|00003440| 0d 09 09 70 61 67 65 0d | 09 09 0d 3b 2a 2a 2a 2a |...page.|...;****|
|00003450| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003460| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003470| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003480| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0d 3b 20 46 |********|****.; F|
|00003490| 55 4e 43 54 49 4f 4e 20 | 20 4d 75 6c 43 68 6b 20 |UNCTION | MulChk |
|000034a0| 28 56 41 52 20 73 72 63 | 53 74 72 69 64 65 2c 64 |(VAR src|Stride,d|
|000034b0| 73 74 53 74 72 69 64 65 | 3a 20 49 4e 54 45 47 45 |stStride|: INTEGE|
|000034c0| 52 29 20 3a 20 42 4f 4f | 4c 45 41 4e 3b 0d 3b 20 |R) : BOO|LEAN;.; |
|000034d0| 53 65 65 20 69 66 20 77 | 65 20 63 61 6e 20 64 6f |See if w|e can do|
|000034e0| 20 77 69 74 68 6f 75 74 | 20 6d 75 6c 74 69 70 6c | without| multipl|
|000034f0| 79 20 69 6e 73 74 72 75 | 63 74 69 6f 6e 73 3a 0d |y instru|ctions:.|
|00003500| 0d 4d 75 6c 43 68 6b 09 | 09 66 75 6e 63 09 62 6f |.MulChk.|.func.bo|
|00003510| 6f 6c 65 61 6e 09 09 09 | 3b 20 43 61 6e 20 77 65 |olean...|; Can we|
|00003520| 20 3f 3f 0d 2e 73 72 63 | 53 74 72 69 64 65 09 76 | ??..src|Stride.v|
|00003530| 61 72 09 09 09 09 3b 20 | 50 6f 69 6e 74 65 72 73 |ar....; |Pointers|
|00003540| 2e 0d 2e 64 73 74 53 74 | 72 69 64 65 09 76 61 72 |...dstSt|ride.var|
|00003550| 0d 09 09 65 6e 64 50 61 | 72 6d 73 0d 09 09 0d 09 |...endPa|rms.....|
|00003560| 09 6e 6f 4c 6f 63 61 6c | 73 0d 09 09 0d 09 09 0d |.noLocal|s.......|
|00003570| 09 09 65 6e 74 65 72 0d | 09 09 0d 09 09 6d 6f 76 |..enter.|.....mov|
|00003580| 65 6d 2e 6c 09 64 30 2d | 64 33 2f 61 31 2d 61 32 |em.l.d0-|d3/a1-a2|
|00003590| 2c 2d 28 73 70 29 09 3b | 20 53 61 76 65 20 79 6f |,-(sp).;| Save yo|
|000035a0| 75 72 20 70 65 6e 6e 69 | 65 73 2e 0d 09 09 3b 20 |ur penni|es....; |
|000035b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 09 09 73 66 09 |--------|--...sf.|
|000035c0| 2e 72 65 73 75 6c 74 09 | 09 09 3b 20 41 73 73 75 |.result.|..; Assu|
|000035d0| 6d 65 20 4e 4f 20 21 21 | 0d 09 09 0d 09 09 6d 6f |me NO !!|......mo|
|000035e0| 76 65 2e 6c 09 2e 73 72 | 63 53 74 72 69 64 65 2c |ve.l..sr|cStride,|
|000035f0| 61 31 0d 09 09 63 6c 72 | 2e 77 09 2d 28 73 70 29 |a1...clr|.w.-(sp)|
|00003600| 09 09 09 3b 20 46 55 4e | 43 54 49 4f 4e 61 6c 20 |...; FUN|CTIONal |
|00003610| 72 65 73 75 6c 74 2e 0d | 09 09 70 75 73 68 2e 77 |result..|..push.w|
|00003620| 09 28 61 31 29 0d 09 09 | 62 73 72 09 42 69 74 57 |.(a1)...|bsr.BitW|
|00003630| 69 64 74 68 0d 09 09 70 | 6f 70 2e 77 09 73 74 72 |idth...p|op.w.str|
|00003640| 69 64 65 57 69 64 74 68 | 0d 09 09 6d 6f 76 65 2e |ideWidth|...move.|
|00003650| 77 09 73 74 72 69 64 65 | 57 69 64 74 68 2c 73 74 |w.stride|Width,st|
|00003660| 72 69 64 65 4c 4f 47 0d | 09 09 73 75 62 71 2e 77 |rideLOG.|..subq.w|
|00003670| 09 23 31 2c 73 74 72 69 | 64 65 57 69 64 74 68 0d |.#1,stri|deWidth.|
|00003680| 09 09 6d 6f 76 65 2e 77 | 09 23 31 2c 64 31 0d 09 |..move.w|.#1,d1..|
|00003690| 09 6c 73 6c 2e 77 09 73 | 74 72 69 64 65 57 69 64 |.lsl.w.s|trideWid|
|000036a0| 74 68 2c 64 31 0d 09 09 | 63 6d 70 2e 77 09 28 61 |th,d1...|cmp.w.(a|
|000036b0| 31 29 2c 64 31 0d 09 09 | 62 6e 65 2e 73 09 2e 65 |1),d1...|bne.s..e|
|000036c0| 6e 64 09 09 09 3b 20 42 | 61 67 20 69 74 20 21 21 |nd...; B|ag it !!|
|000036d0| 0d 09 09 6d 6f 76 65 2e | 77 09 73 74 72 69 64 65 |...move.|w.stride|
|000036e0| 4c 4f 47 2c 64 33 0d 09 | 09 3b 20 2d 2d 2d 2d 2d |LOG,d3..|.; -----|
|000036f0| 2d 2d 2d 2d 2d 0d 09 09 | 6d 6f 76 65 2e 6c 09 2e |-----...|move.l..|
|00003700| 64 73 74 53 74 72 69 64 | 65 2c 61 32 0d 09 09 63 |dstStrid|e,a2...c|
|00003710| 6c 72 2e 77 09 2d 28 73 | 70 29 09 09 09 3b 20 46 |lr.w.-(s|p)...; F|
|00003720| 55 4e 43 54 49 4f 4e 61 | 6c 20 72 65 73 75 6c 74 |UNCTIONa|l result|
|00003730| 2e 0d 09 09 70 75 73 68 | 2e 77 09 28 61 32 29 0d |....push|.w.(a2).|
|00003740| 09 09 62 73 72 09 42 69 | 74 57 69 64 74 68 0d 09 |..bsr.Bi|tWidth..|
|00003750| 09 70 6f 70 2e 77 09 73 | 74 72 69 64 65 57 69 64 |.pop.w.s|trideWid|
|00003760| 74 68 0d 09 09 6d 6f 76 | 65 2e 77 09 73 74 72 69 |th...mov|e.w.stri|
|00003770| 64 65 57 69 64 74 68 2c | 73 74 72 69 64 65 4c 4f |deWidth,|strideLO|
|00003780| 47 0d 09 09 73 75 62 71 | 2e 77 09 23 31 2c 73 74 |G...subq|.w.#1,st|
|00003790| 72 69 64 65 57 69 64 74 | 68 0d 09 09 6d 6f 76 65 |rideWidt|h...move|
|000037a0| 2e 77 09 23 31 2c 64 31 | 0d 09 09 6c 73 6c 2e 77 |.w.#1,d1|...lsl.w|
|000037b0| 09 73 74 72 69 64 65 57 | 69 64 74 68 2c 64 31 0d |.strideW|idth,d1.|
|000037c0| 09 09 63 6d 70 2e 77 09 | 28 61 32 29 2c 64 31 0d |..cmp.w.|(a2),d1.|
|000037d0| 09 09 62 6e 65 2e 73 09 | 2e 65 6e 64 09 09 09 3b |..bne.s.|.end...;|
|000037e0| 20 42 61 67 20 69 74 20 | 21 21 0d 09 09 0d 09 09 | Bag it |!!......|
|000037f0| 6d 6f 76 65 2e 77 09 64 | 33 2c 28 61 31 29 0d 09 |move.w.d|3,(a1)..|
|00003800| 09 6d 6f 76 65 2e 77 09 | 73 74 72 69 64 65 4c 4f |.move.w.|strideLO|
|00003810| 47 2c 28 61 32 29 09 09 | 0d 09 09 73 74 09 2e 72 |G,(a2)..|...st..r|
|00003820| 65 73 75 6c 74 09 09 09 | 3b 20 47 6f 6f 64 20 4e |esult...|; Good N|
|00003830| 65 77 73 2c 20 66 6f 6c | 6b 73 20 21 21 0d 09 09 |ews, fol|ks !!...|
|00003840| 3b 20 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 2e 65 6e |; ------|----..en|
|00003850| 64 09 09 6d 6f 76 65 6d | 2e 6c 09 28 73 70 29 2b |d..movem|.l.(sp)+|
|00003860| 2c 64 30 2d 64 33 2f 61 | 31 2d 61 32 0d 0d 09 09 |,d0-d3/a|1-a2....|
|00003870| 65 78 69 74 0d 09 09 0d | 09 09 70 61 67 65 0d 09 |exit....|..page..|
|00003880| 09 0d 3b 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |..;*****|********|
|00003890| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000038a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000038b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000038c0| 2a 2a 2a 0d 3b 20 46 55 | 4e 43 54 49 4f 4e 20 20 |***.; FU|NCTION |
|000038d0| 42 69 74 57 69 64 74 68 | 20 28 6e 75 6d 62 65 72 |BitWidth| (number|
|000038e0| 3a 20 49 4e 54 45 47 45 | 52 29 20 3a 20 49 4e 54 |: INTEGE|R) : INT|
|000038f0| 45 47 45 52 3b 0d 3b 20 | 46 69 6e 64 20 74 68 65 |EGER;.; |Find the|
|00003900| 20 6e 75 6d 62 65 72 20 | 6f 66 20 42 69 74 73 20 | number |of Bits |
|00003910| 69 6e 20 61 20 6e 75 6d | 62 65 72 3a 0d 0d 42 69 |in a num|ber:..Bi|
|00003920| 74 57 69 64 74 68 09 66 | 75 6e 63 09 69 6e 74 65 |tWidth.f|unc.inte|
|00003930| 67 65 72 0d 2e 6e 75 6d | 62 65 72 09 09 69 6e 74 |ger..num|ber..int|
|00003940| 65 67 65 72 0d 09 09 65 | 6e 64 50 61 72 6d 73 0d |eger...e|ndParms.|
|00003950| 09 09 0d 09 09 6e 6f 4c | 6f 63 61 6c 73 0d 09 09 |.....noL|ocals...|
|00003960| 0d 09 09 0d 09 09 65 6e | 74 65 72 0d 09 09 0d 09 |......en|ter.....|
|00003970| 09 6d 6f 76 65 6d 2e 6c | 09 64 30 2d 64 31 2c 2d |.movem.l|.d0-d1,-|
|00003980| 28 73 70 29 09 09 3b 20 | 59 6f 75 72 20 6c 69 66 |(sp)..; |Your lif|
|00003990| 65 20 70 72 65 73 65 72 | 76 65 72 2e 0d 09 09 3b |e preser|ver....;|
|000039a0| 20 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 09 09 63 6c | -------|---...cl|
|000039b0| 72 2e 77 09 2e 72 65 73 | 75 6c 74 09 09 09 3b 20 |r.w..res|ult...; |
|000039c0| 49 6e 69 74 69 61 6c 69 | 7a 65 20 74 6f 20 30 2e |Initiali|ze to 0.|
|000039d0| 0d 09 09 6d 6f 76 65 2e | 77 09 2e 6e 75 6d 62 65 |...move.|w..numbe|
|000039e0| 72 2c 64 30 0d 09 09 62 | 65 71 2e 73 09 2e 65 6e |r,d0...b|eq.s..en|
|000039f0| 64 0d 09 09 3b 20 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |d...; --|--------|
|00003a00| 0d 09 09 6d 6f 76 65 2e | 6c 09 23 31 36 2c 64 31 |...move.|l.#16,d1|
|00003a10| 09 09 09 3b 20 65 2e 67 | 2e 2c 20 77 69 64 74 68 |...; e.g|., width|
|00003a20| 20 6f 66 20 23 33 20 3d | 20 32 2e 0d 2e 6c 6f 6f | of #3 =| 2...loo|
|00003a30| 70 09 09 6c 73 6c 2e 77 | 09 23 31 2c 64 30 0d 09 |p..lsl.w|.#1,d0..|
|00003a40| 09 64 62 63 73 09 64 31 | 2c 2e 6c 6f 6f 70 09 09 |.dbcs.d1|,.loop..|
|00003a50| 3b 20 2e 2e 2e 20 75 6e | 74 69 6c 20 61 20 31 20 |; ... un|til a 1 |
|00003a60| 66 61 6c 6c 73 20 6f 66 | 66 2e 0d 09 09 6d 6f 76 |falls of|f....mov|
|00003a70| 65 2e 77 09 64 31 2c 2e | 72 65 73 75 6c 74 0d 09 |e.w.d1,.|result..|
|00003a80| 09 3b 20 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 2e 65 |.; -----|-----..e|
|00003a90| 6e 64 09 09 6d 6f 76 65 | 6d 2e 6c 09 28 73 70 29 |nd..move|m.l.(sp)|
|00003aa0| 2b 2c 64 30 2d 64 31 09 | 09 3b 20 54 6f 20 74 68 |+,d0-d1.|.; To th|
|00003ab0| 65 20 72 65 73 63 75 65 | 2e 0d 09 09 0d 09 09 65 |e rescue|.......e|
|00003ac0| 78 69 74 0d 09 09 0d 09 | 09 70 61 67 65 0d 09 09 |xit.....|.page...|
|00003ad0| 0d 3b 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.;******|********|
|00003ae0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003af0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003b00| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003b10| 2a 2a 0d 3b 20 54 61 62 | 6c 65 20 6f 66 20 6c 6f |**.; Tab|le of lo|
|00003b20| 6e 67 77 6f 72 64 20 4d | 61 73 6b 73 20 74 6f 20 |ngword M|asks to |
|00003b30| 58 4f 52 20 69 6e 20 4b | 6e 75 74 68 69 61 6e 20 |XOR in K|nuthian |
|00003b40| 61 6c 67 6f 72 69 74 68 | 6d 2e 20 20 54 68 65 20 |algorith|m. The |
|00003b50| 66 69 72 73 74 0d 3b 20 | 74 61 62 6c 65 20 65 6e |first.; |table en|
|00003b60| 74 72 79 20 3e 20 30 20 | 69 73 20 66 6f 72 20 61 |try > 0 |is for a|
|00003b70| 20 62 69 74 2d 77 69 64 | 74 68 20 6f 66 20 74 77 | bit-wid|th of tw|
|00003b80| 6f 2c 20 73 6f 20 74 68 | 65 20 74 61 62 6c 65 20 |o, so th|e table |
|00003b90| 61 63 74 75 61 6c 6c 79 | 0d 3b 20 73 74 61 72 74 |actually|.; start|
|00003ba0| 73 20 74 77 6f 20 62 79 | 74 65 73 20 62 65 66 6f |s two by|tes befo|
|00003bb0| 72 65 20 74 68 61 74 2e | 20 20 54 68 65 20 73 63 |re that.| The sc|
|00003bc0| 68 65 6d 65 20 75 73 65 | 64 20 69 73 20 74 68 61 |heme use|d is tha|
|00003bd0| 74 20 6f 66 20 61 20 0d | 3b 20 22 6d 61 78 69 6d |t of a .|; "maxim|
|00003be0| 75 6d 2d 6c 65 6e 67 74 | 68 20 73 65 71 75 65 6e |um-lengt|h sequen|
|00003bf0| 63 65 20 67 65 6e 65 72 | 61 74 6f 72 22 3a 0d 0d |ce gener|ator":..|
|00003c00| 4d 61 73 6b 54 61 62 6c | 65 09 64 63 2e 62 09 30 |MaskTabl|e.dc.b.0|
|00003c10| 09 09 09 3b 20 42 69 74 | 2d 77 69 64 74 68 20 3d |...; Bit|-width =|
|00003c20| 20 30 20 2e 2e 2e 0d 09 | 09 64 63 2e 62 09 30 2c | 0 .....|.dc.b.0,|
|00003c30| 33 2c 33 2c 33 2c 35 2c | 33 2c 33 2c 32 33 0d 09 |3,3,3,5,|3,3,23..|
|00003c40| 09 64 63 2e 62 09 31 37 | 2c 39 2c 35 2c 31 30 31 |.dc.b.17|,9,5,101|
|00003c50| 2c 32 37 2c 35 33 2c 33 | 2c 34 35 0d 09 09 64 63 |,27,53,3|,45...dc|
|00003c60| 2e 62 09 39 2c 31 32 39 | 2c 35 37 2c 39 2c 35 2c |.b.9,129|,57,9,5,|
|00003c70| 33 2c 33 33 2c 32 37 0d | 09 09 64 63 2e 62 09 39 |3,33,27.|..dc.b.9|
|00003c80| 2c 31 31 33 2c 35 37 2c | 39 2c 35 2c 31 30 31 2c |,113,57,|9,5,101,|
|00003c90| 39 2c 31 36 33 09 3b 20 | 2e 2e 2e 20 42 69 74 2d |9,163.; |... Bit-|
|00003ca0| 77 69 64 74 68 20 3d 20 | 33 32 2e 0d 09 09 0d 09 |width = |32......|
|00003cb0| 09 61 6c 69 67 6e 0d 00 | 00 00 00 00 00 00 00 00 |.align..|........|
|00003cc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003cd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003ce0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003cf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003d00| 00 00 01 00 00 00 01 16 | 00 00 00 16 00 00 00 46 |........|.......F|
|00003d10| 09 3b 20 57 69 64 74 68 | 2c 20 74 68 65 6e 20 48 |.; Width|, then H|
|00003d20| 65 69 67 68 74 2e 0d 09 | 09 65 78 74 2e 6c 09 64 |eight...|.ext.l.d|
|00003d30| 0c 44 69 73 73 42 69 74 | 73 2e 61 73 6d bd 02 00 |.DissBit|s.asm...|
|00003d40| 00 00 54 45 58 54 45 44 | 49 54 01 06 00 00 00 00 |..TEXTED|IT......|
|00003d50| 00 00 54 45 58 54 45 44 | 49 54 01 06 00 00 00 00 |..TEXTED|IT......|
|00003d60| 00 00 11 b1 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003d70| 00 00 a0 8b 56 e8 00 00 | 3c 37 00 00 01 5c 20 53 |....V...|<7...\ S|
|00003d80| 79 73 74 65 6d 20 48 65 | 61 70 2e 0d 09 09 70 75 |ystem He|ap....pu|
|00003d90| 73 68 2e 6c 09 61 30 09 | 09 3b 20 3d 20 62 61 73 |sh.l.a0.|.; = bas|
|00003da0| 65 41 64 64 72 20 66 69 | 65 6c 64 20 6f 66 20 42 |eAddr fi|eld of B|
|00003db0| 69 74 4d 61 70 2e 0d 09 | 09 6d 6f 76 65 2e 6c 09 |itMap...|.move.l.|
|00003dc0| 23 62 69 74 4d 61 70 52 | 65 63 2c 64 30 0d 09 09 |#bitMapR|ec,d0...|
|00003dd0| 5f 4e 65 77 48 61 6e 64 | 6c 65 2c 73 79 73 2b 63 |_NewHand|le,sys+c|
|00003de0| 6c 65 61 72 0d 09 09 6d | 6f 76 65 2e 6c 09 61 30 |lear...m|ove.l.a0|
|00003df0| 2c 2e 62 6d 48 64 6c 09 | 3b 20 53 61 76 65 20 66 |,.bmHdl.|; Save f|
|00003e00| 00 00 00 0a 00 09 06 4d | 6f 6e 61 63 6f 68 00 00 |.......M|onacoh..|
|00003e10| 00 04 00 06 00 08 00 00 | 01 00 00 00 01 16 00 00 |........|........|
|00003e20| 00 16 00 00 00 46 00 35 | c7 56 03 ae 00 00 00 1c |.....F.5|.V......|
|00003e30| 00 46 00 01 45 46 4e 54 | 00 00 00 12 45 54 41 42 |.F..EFNT|....ETAB|
|00003e40| 00 00 00 1e 03 eb ff ff | 00 00 00 00 00 35 dc b6 |........|.....5..|
|00003e50| 03 ec ff ff 00 00 00 0e | 00 35 dc be 00 00 00 00 |........|.5......|
|00003e60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003e70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+